reactjs - React Native navigation.state.params 始终未定义

标签 reactjs react-native react-navigation flowtype

我对 React Native 相当陌生,我购买了一个名为 sketch elements 的模板来帮助我开始使用 Flow 进行类型检查。

https://react-native.shop/elements

我想在导航时传递一个参数,但该参数始终未定义。

这是我在第一个组件中的代码 - 我想导航到传入关卡对象的 navigatorTo 组件(在本例中为照片)

navigate(navigateTo: string, level: object) {
    const { navigation } = this.props;
    navigation.navigate(navigateTo, { level });
}

我的其他组件如下所示,控制台日志始终返回未定义。浏览其他示例,这看起来与之前实现的效果相同,但我显然遗漏了一些东西。

type PhotosProps = NavigationProps<> & {
    level: object
};

export default class Photos extends React.Component<NavigationProps<PhotosProps>> {
    render(): React.Node {
        const { navigation } = this.props;
        console.log( navigation.state.params);
        return null;
    }
}

任何帮助将不胜感激。

最佳答案

您可以使用 const level = navigation.getParam('level') 访问传递到 react-navigation 库的参数。有关传递参数的文档:https://reactnavigation.org/docs/en/params.html

关于reactjs - React Native navigation.state.params 始终未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53802610/

相关文章:

javascript - 学习 React.js

reactjs - React 中子组件的状态

react-native - react native : How to deteck iPhones with Notch?

react-native - 在reactnavigation中未定义navigation.dispatch

javascript - 如何设置图像在 react 导航中采用带标题的全尺寸屏幕?

javascript - 在 ReactJs 中使用 GoJs

reactjs - 使用大数组 react useState() 钩子(Hook)

ios - 在 Expo iOS 客户端上没有收到推送通知

javascript - Expo FileSystem.readAsStringAsync 不等待

reactjs - React Native - NavigationActions.navigate() 未从 redux 内导航