【问题标题】:Can we render same route using navigator in react native?我们可以在 react native 中使用导航器渲染相同的路线吗?
【发布时间】:2018-04-22 16:41:08
【问题描述】:

我有一个视图,比如说 DynamicView。我正在尝试使用不同的参数在导航器中推送 same 视图(DynamicView)。

this.props.navigator.push({
    component: DynamicView,
    params: {} //Different params
})
...
export default connect(mapStateToProps, mapDispatchToProps)(DynamicView)

DynamicView 与 redux 流程相关联。但是我无法访问推送组件中的最新状态。

我想知道,这样做是否正确?如果是,我如何访问与父组件相同的推送组件中的最新状态。如果不是,那么是否有任何其他方法可以动态创建新路由。

感谢任何帮助。谢谢。

React Native v0.40

【问题讨论】:

    标签: javascript reactjs react-native react-redux


    【解决方案1】:

    React Navigation 导航器,例如 StackNavigator,可以轻松支持这一点。正如 React Navigation 的创建者 confirmed here

    假设你正在使用 StackNavigator 做一些basic navigation。 你会做这样的事情:

    export const SimpleApp = StackNavigator({
      MyDynamicView: { screen: DynamicView }
      ... other routes ...
    });
    

    然后,从您的 React 组件(包括 DynamicView 组件)中,您可以使用不同的参数多次导航到 MyDynamicView 路由:

    navigation.navigate('MyDynamicView, { username: 'John' })
    

    navigation.navigate('MyDynamicView, { username: 'John2' })
    

    【讨论】:

    • 哦,我很高兴我在您分享的链接中建议的正确道路上。谢谢你。但是我的动态组件与 redux 存储连接。假设如果有两个相同的组件加载了不同的数据集,并且如果我正在更改堆栈中最后一个组件上的 set2 数据的状态,它不会占用更改。只有第一个动态组件正在获取更新的数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多