0

我有这个功能

onPress = (store) => {
//store.flipState();
this.props.navigation.navigate('anotherScreen');
console.log('hi');
}

如果我像上面那样运行它,导航就可以了。如果我取消注释 store.flipState() 行,状态会发生变化,但导航不起作用(屏幕只是刷新)。console.log 在这两种情况下都有效。

如何同时更改状态和导航?

我在 React Native 中使用 Unstated 和 React Navigation。

谢谢你。

4

1 回答 1

0

我知道这真的很老了,但是如果你将导航操作传递给 FlipState

const {navigation: {navigate}} = this.props

store.flipState(navigate('anotherScreen'))

然后,在 FlipState 中,当您调用 setState 时,将导航作为成功操作回调传递

flipState = (callback) => {
  this.setState((state) => {
    return { flippedState: !state.flippedState };
  }, callback);
};
于 2018-10-05T17:37:30.737 回答