我正在构建一个小的React Native应用程序并使用react-native-route-flux(v3)。我无法将基于父级状态的道具传递给场景中呈现的组件。
以下是相关代码:
render() {
let {
drawerOpen
} = this.state
return (
<Router>
<Scene
style={styles.app}
key='root'>
<Scene
passProps={true}
key='Home'
component={MainView}
title='Home'
initial={true}
hideNavBar={true}
customNavBar={<AppHeader handleDrawer={() => this._handleDrawer()} />}
drawer={<Drawer open={drawerOpen} />} />
<Scene
key='Tutorial'
component={TutorialTile}
title='Tutorial'
hideNavBar={true}
customNavBar={<AppHeader handleDrawer={() => this._handleDrawer()} />}
drawer={<Drawer open={drawerOpen} />} />
</Scene>
</Router>
)
}
但是,open
组件的<Drawer />
prop永远不会更新父状态更改,因此永远不会打开。
有没有办法将道具传递给自己作为道具传递下去的组件? (路由器库几乎要求我将抽屉作为道具传递下去。)
谢谢!
编辑:这是_handleDrawer
函数,它传递给标题中的按钮:
_handleDrawer() {
let { drawerOpen } = this.state
this.setState({
drawerOpen: !drawerOpen
})
}