如何从动作文件进行导航调用

问题描述 投票:0回答:2

[在我的本机应用程序中使用react-navigation v5和redux时,如何从动作文件触发导航?有什么更好的方法可以做到这一点吗?完成结果后,我想触发到下一个屏幕的导航,但是不能使用useNavigation()。谢谢。

react-native redux react-redux react-navigation
2个回答
0
投票

这个问题对您有帮助吗?似乎是某人尝试完成与您的情况类似的场景]

React-Navigation: navigate from actions file


0
投票

创建对NavigationContainer的引用

import { NavigationContainer } from '@react-navigation/native';
import { navigationRef } from './path/to/RootNavigation.js';

export default function App() {
  return (
    <NavigationContainer ref={navigationRef}>{/* ... */}</NavigationContainer>
  );
}

创建一个模块RootNavigation.js来保存引用

import * as React from 'react';

export const navigationRef = React.createRef();

export function navigate(name, params) {
  navigationRef.current?.navigate(name, params);
}

现在使用以下方法从任何地方触发导航:

import * as RootNavigation from './path/to/RootNavigation.js';

//...

RootNavigation.navigate('ChatScreen', { userName: 'Lucy' });

参考:https://reactnavigation.org/docs/navigating-without-navigation-prop/

© www.soinside.com 2019 - 2024. All rights reserved.