反应本机路由器通量动态路由



在我的 React Native 项目中,我有一个导入:

import { Actions as NavigationActions } from 'react-native-router-flux'

我还有一个用于this.props.route路线的道具类型,相当于"someRoute"。我想像这样有效地将两者一起使用:

<TouchableOpacity onPress={NavigationActions.this.props.route}>

显然这是行不通的,但如何同时使用两者?

我试过了

const { route } = this.props
<TouchableOpacity onPress={NavigationActions.route}>

还有

<TouchableOpacity onPress={{$NavigationActions}.${route}}>

但两者都不起作用。谁能告诉我我做错了什么

请参阅 react-native-router-flux minitutorial。

您不应该访问他们的props

<Router>
  <Scene key="root">
    <Scene key="pageOne" component={PageOne} title="PageOne" initial={true} />
    <Scene key="pageTwo" component={PageTwo} title="PageTwo" />
  </Scene>
</Router>
<Text onPress={Actions.pageTwo}>This is PageOne!</Text>

编辑:

由于您期待动态重定向,因此该方法与处理对象相同。

a = { foo: 'bar' } -> a.fooa['foo'](第二个是动态版本)

在你的情况下,这是Action[page]

这成为

const route = this.props.route;
<TouchableOpacity onPress={NavigationActions[route]}>

确保该路由实际上是Scene具有的key

如果您的路由器具有值为 this.props.routescene,您可以尝试这样做NavigationActions[this.props.route]

<TouchableOpacity onPress={NavigationActions[this.props.route]}>

如果这不起作用,请检查您定义的Router是否具有具有key值为 this.props.routescene

你可以使用这个:

const route = this.props.route;
Actions[route]()

相关内容

  • 没有找到相关文章

最新更新