在我的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}}>
但是没有工作。任何人都可以告诉我我做错了什么
答案 0 :(得分:4)
请参阅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' }
- &gt; a.foo
或a['foo']
(第二个是动态版本)
在您的情况下,这是Action[page]
。
哪个成为
const route = this.props.route;
<TouchableOpacity onPress={NavigationActions[route]}>
确保该路线实际上是key
所拥有的Scene
。
答案 1 :(得分:1)
如果您的路由器的NavigationActions[this.props.route]
值为scene
this.props.route
<TouchableOpacity onPress={NavigationActions[this.props.route]}>
如果这不起作用,请检查您定义的Router
是否scene
key
的值为this.props.route
。
答案 2 :(得分:0)
您可以使用此:
Polygons.doSomethingWith(polygon)