ionic-team / ionic-team/ionic-framework

feat: Lifecycle events not working on IonNav components

Đang mở
#29,133 10 bình luận 0 reaction 0 người được giao Xem trên GitHub
package: react package: vue type: feature request
Ngôn ngữ chính
TypeScript
Star
52.7k
Fork
13.3k
Merge trung bình
1 ngày 15 giờ
Pull request đã merge (30 ngày)
51

Mô tả

### Prerequisites

- [X] I have read the [Contributing Guidelines](https://github.com/ionic-team/ionic-framework/blob/main/.github/CONTRIBUTING.md#creating-an-issue).
- [X] I agree to follow the [Code of Conduct](https://ionicframework.com/code-of-conduct).
- [X] I have searched for [existing issues](https://github.com/ionic-team/ionic-framework/issues) that already report this problem, without success.

### Ionic Framework Version

v7.x

### Current Behavior

If I try to use the [Lifecycles](https://ionicframework.com/docs/react/lifecycle) on Nav components it does not work.

Navigating between Components inside a IonNav does not fire the lifecycle hooks.

This is frustrating because I want to handle the BackButton event on specifict components but i can't if i don't have this hooks
If i handle it in a useEffect then if i have 4 nav components mounted it will trigger the backButton in all of 4, and I only want to trigger on the current view.

### Expected Behavior

To have the Lifecycles working on the nav components

### Steps to Reproduce

1) Start in a page with ``
2) Push another page that have `IonViewWillEnter` and `IonViewWillLeave`
3) Then go back

You will see that neither of those hooks will trigger

### Code Reproduction URL

https://github.com/FernetB/ionic-tabs-bug
_No response_

### Ionic Info

Ionic:

Ionic CLI : 7.1.1
Ionic Framework : @ionic/react 7.7.4

Capacitor:

Capacitor CLI : 5.2.3
@capacitor/android : 5.2.3
@capacitor/core : 5.2.3
@capacitor/ios : 5.2.3

Utility:

cordova-res : 0.15.1
native-run : 1.7.2

System:

NodeJS : v18.16.0
npm : 9.5.1
OS : Windows 10

### Additional Information

_No response_

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Start by running the reproduction at https://github.com/FernetB/ionic-tabs-bug and compare IonNav behavior with the React lifecycle documentation linked in the issue. Trace how IonNav navigation handles IonViewWillEnter and IonViewWillLeave; done means those hooks fire when views are pushed and popped, without triggering for inactive mounted views.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
react, typescript
Lĩnh vực
frontend, mobile
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.