moh*_*arf 1 react-native redux react-redux react-navigation
在我的react-native应用程序中使用react-navigation v5和redux时,如何从actions文件触发导航?有没有更好的方法来做到这一点?当结果满足时,我想触发导航到下一个屏幕,但我无法使用 useNavigation()。谢谢。
小智 5
创建对 NavigationContainer 的引用
import { NavigationContainer } from '@react-navigation/native';
import { navigationRef } from './path/to/RootNavigation.js';
export default function App() {
return (
<NavigationContainer ref={navigationRef}>{/* ... */}</NavigationContainer>
);
}
Run Code Online (Sandbox Code Playgroud)
创建一个模块 RootNavigation.js 来保存引用
import * as React from 'react';
export const navigationRef = React.createRef();
export function navigate(name, params) {
navigationRef.current?.navigate(name, params);
}
Run Code Online (Sandbox Code Playgroud)
现在使用以下命令从任何地方触发导航:
import * as RootNavigation from './path/to/RootNavigation.js';
//...
RootNavigation.navigate('ChatScreen', { userName: 'Lucy' });
Run Code Online (Sandbox Code Playgroud)
参考:https://reactnavigation.org/docs/navigating-without-navigation-prop/
| 归档时间: |
|
| 查看次数: |
431 次 |
| 最近记录: |