【发布时间】:2019-03-29 09:01:16
【问题描述】:
我有两个屏幕:A 和 B,通过 StackNavigator 连接
屏幕 A 是二维码扫描仪。扫描二维码后,它会立即导航到屏幕 B。
在屏幕 B 中,我使用从屏幕 A 作为导航参数传递的 QR 码进行 API 调用。我在 componentDidMount 中触发此 API 调用。
我的问题是:如果我从 A 导航到 B,然后返回 A,然后再导航到 B,则不会调用 componentDidMount,并且我无法触发 API 调用。
编辑:
这里有一些代码
屏幕A
扫描二维码时调用的处理函数:
handleQRCode = qrCode => {
NavigationService.navigate('Decode', {qrCode});
};
屏幕 B
二维码是从导航状态参数中提取出来的,用于通过 redux 进行 API 调用(startDecode)。
componentDidMount() {
qrCode = this.props.navigation.state.params.qrCode;
this.props.startDecode(qrCode.data);
}
我的问题是 componentDidMount 仅在第一次采用该路由时才被调用。
【问题讨论】:
-
可以分享一段代码吗?
-
@JoseVf 我刚刚添加了一些代码
标签: react-native react-navigation