30/09/2018, 23:42
Làm thế nào để unmount route ở trong routeStack của Navigator (không dùng pop)
Cho mình hỏi về Component là Navigator: Làm thế nào để loại bỏ một route trong routeStack, đồng thời unmount nó luôn.
Ví dụ routeStack của mình (màn hình đang ở E):
A B C D E
Mình muốn gỡ bỏ C, đồng thời unmount C luôn:
A B D E
Bài liên quan
routeStack là danh sách routes dùng để khởi tạo trong
Navigator
. Thường thì ko ai xoá route, chỉ là có navigate tới hay không thôi. Bạn đang ở E tức là C không được mount, vậy sao unmount được.Cho mình hỏi chút, nếu bạn đang ở scene E, vậy bạn đang muốn làm gì tiếp theo mà phải gỡ bỏ C. ?
Không bạn, C không hiển thị nhưng nó vẫn chạy, giờ mình muốn nó không chạy nữa và được unmount cơ, tức là event componentWillUnmount của nó sẽ được chạy ấy.
ah sorry bạn. Quên phần đó. Nếu bạn muốn tự control như vậy thì đừng dùng cái
initialRouteStack
, Tại mình dùng cái react-native-router-flux nên cũng ko nhớ rõ cái navigator.Mình có dùng initialRouteStack hay không thì routeStack nó cũng sinh ra như vậy rồi. API của navigator cũng không có method unmount, chẳng lẽ mình có thể sửa trực tiếp routeStack à?
Vì thật sự mình cũng không biết mục đích thực tế khi bạn muốn
unmount
1 stack là gì. routeStack thì đơn nhiên lúc nào cũng có. Do bạn nói là ko muốn nó preload trước thì mình nói không nên dùng initialRouteStack. Còn nếu bạn muốn unstack kiểu: sau khi login, sẽ chuyển vào screen Home, lúc này mình ko cho phép user back lại cái stack trước nữa, thì dùngreplace
để bỏ mấy cái stack như login, intro. Or bỏ toàn bộ bằngreset
.