Javascript 使用React Native Router Flux从导航栏按钮传递道具
我有一个相当充实的项目,使用Javascript 使用React Native Router Flux从导航栏按钮传递道具,javascript,reactjs,react-native,react-native-router-flux,Javascript,Reactjs,React Native,React Native Router Flux,我有一个相当充实的项目,使用react native router flux,我试图通过道具传递一个对象。通常我可以调用Actions.someKey({someProp:object})进行导航,但我尝试使用rightbutonimage进行导航,因为它无法访问组件的props 例如: Router.js <Router> <Scene1 rightButtonImage={someImage} onRight={() => Actions.scen
react native router flux
,我试图通过道具传递一个对象。通常我可以调用Actions.someKey({someProp:object})
进行导航,但我尝试使用rightbutonimage
进行导航,因为它无法访问组件的props
例如:
Router.js
<Router>
<Scene1
rightButtonImage={someImage}
onRight={() => Actions.sceneTwo()}
/>
<Scene2 key="sceneTwo" />
</Router>
Actions.sceneTwo()}
/>
当我移动到Scene2时,我想传递Scene1的组件有权访问的对象。这对您有帮助:
在每个组件中,即在componentDidMount中,您可以执行以下操作:
Actions.refresh({
rightTitle: "Next",
rightButtonTextStyle: {color: 'red'},
onRight: this.goSomewhere,
rightButtonImage: someImage
})
是否要发送DoScene2
someImage
值?没有任何Scene1的组件具有作为道具的对象,我需要将其传递到Scene2。您可以将其存储并作为自己的prop
传递到Actions.sceneTwo()
中。问题是对象是动态的,而不是静态的,所以我说Scene1、Scene2、Scene3。Scene1有一个由获取的数据组成的列表。当一个项目被选中时,它会移动到场景2,并带有listitem的相关道具。我想从导航栏按钮将对象转到场景3。如果在Scene2的组件中触发Action.Scene3(),我可以将({prop:value)}附加到它,但我正在触发路由器组件中的Actions.Scene3()。