Как очистить или заменить реквизит, переданный корневому навигатору

В моем сценарии я хочу передать «токен» на главный экран из режима входа через навигатор, и он работает.

К сожалению, когда я выхожу из входа в систему и перехожу в режим входа в систему, параметры, которые однажды были переданы в корневой навигатор, не могут быть очищены или заменены. Я пробовал resetTo, но он не работает.

Поэтому, если я переключу пользователя, токен не будет изменен в корневом навигаторе. Конечно, если я использую push или инициализирую новый навигатор, он изменит «токен», но я не хочу этого делать. потому что, во-первых, я не уверен, инициализирую ли я навигатор, был ли уничтожен старый, в противном случае, на мой взгляд, он будет тратить впустую память. во-вторых, я не хочу выполнять лишнюю бесполезную работу (если параметры могут быть изменено в корневом навигаторе, потомок может получать из него параметры без повторного прохода)

чтобы кто-нибудь мог это решить? заранее спасибо


person David Welson    schedule 14.03.2017    source источник


Ответы (1)


Решил сам.
Не напрямую, но использую встроенное решение от навигатора. В initialRoute я передал ему токен, а в renderScene взял route.token для указанного компонента.
После выхода со страницы индекса на страницу входа я передал токен методу push, а затем токен, который в теге Navigator был изменен , и, конечно же, оно было передано на страницу индекса.
Итак, мое новое значение успешно передано, надеюсь кому-то поможет ~

person David Welson    schedule 16.03.2017