【问题标题】:Issue with Unstated and React Navigation in React NativeReact Native 中未声明和 React 导航的问题
【发布时间】:2018-04-02 12:04:23
【问题描述】:
我有这个功能
onPress = (store) => {
//store.flipState();
this.props.navigation.navigate('anotherScreen');
console.log('hi');
}
如果我像上面那样运行它,导航就可以了。
如果我取消注释 store.flipState() 行,状态会发生变化,但导航不起作用(屏幕只是刷新)。
console.log 在这两种情况下都有效。
如何同时更改状态和导航?
我在 React Native 中使用 Unstated 和 React Navigation。
谢谢。
【问题讨论】:
标签:
react-native
react-navigation
unstated
【解决方案1】:
我知道这真的很老了,但是如果你将导航操作传递给 FlipState 会怎样
const {navigation: {navigate}} = this.props
store.flipState(navigate('anotherScreen'))
然后,在flipState中,当您调用setState时,将navigation作为成功操作回调传递
flipState = (callback) => {
this.setState((state) => {
return { flippedState: !state.flippedState };
}, callback);
};