在我的 React Native 项目中,我有一个导入:
import { Actions as NavigationActions } from 'react-native-router-flux'
我还有一个 this.props.route
路线的 prop 类型,它等同于“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.foo
或 a['foo']
(第二个作为动态版本)
在你的例子中就是 Action[page]
。
变成
const route = this.props.route;
<TouchableOpacity onPress={NavigationActions[route]}>
确保路由实际上是 Scene
具有的 key
。
关于javascript - React Native Router Flux 动态路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41649090/