React Native Navigation:从 React 组件外部导航到屏幕
Posted
技术标签:
【中文标题】React Native Navigation:从 React 组件外部导航到屏幕【英文标题】:React Native Navigation: Navigate to a screen from outside a React component 【发布时间】:2021-08-19 14:08:21 【问题描述】:https://wix.github.io/react-native-navigation/docs/basic-navigation#navigating-in-a-stack
表示将新屏幕推送到堆栈需要当前屏幕的componentId
。我的用例是允许基于本机模块发出的某些事件进行导航。因此,componentId
对我不可用,因为事件侦听器将驻留在任何 React 组件屏幕之外。有没有办法从RNN外部导航到屏幕?甚至获取当前的componentId
。
【问题讨论】:
【参考方案1】:我最终添加了一个命令事件侦听器以将当前的componentId
存储在闭包中。
let currentComponentId;
Navigation.events().registerCommandListener((name, params) =>
if (name === 'push')
currentComponentId = params.componentId;
);
Navigation.events().registerAppLaunchedListener(() =>
Navigation.setRoot(rootRouteConfig);
EventEmitter.addListener('navigate', (name) =>
Navigation.push(currentComponentId,
component:
name,
,
);
);
);
【讨论】:
以上是关于React Native Navigation:从 React 组件外部导航到屏幕的主要内容,如果未能解决你的问题,请参考以下文章
React Native Navigation:从 React 组件外部导航到屏幕
无法从 react-native 中的 navigation.geolocation.getCurrentPosition() 返回位置
React-native 组件缓存(或防止卸载)(react-navigation)