В React-Native, как я могу вызвать popToTop() для каждой вкладки NavigatorIOS в TabBarIOS?

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

у меня есть TabBarIOS компонент с 4 вкладками, каждая вкладка является NavigatorIOS компонент, который управляет последующим ListView компоненты. Как я могу заставить все компоненты NavigatorIOS popToTop() и повторно сделать рендеринг на основе изменения клиента?

Заранее спасибо.

1 ответ

Решение

Одним из простых подходов было бы использовать источник событий. Создайте источник событий и передайте его компоненту, которому принадлежит NavigatorIOS компоненты. Владелец может использовать ref опора каждого NavigatorIOS компонент, чтобы получить ссылку на каждый навигатор.

Затем владелец может добавить слушателя к источнику событий и вызвать popToTop() на каждом навигаторе, когда вызывается слушатель. Тогда это просто вопрос о событии, когда это уместно.

Другие вопросы по тегам