Kev*_*ali 13 react-native react-native-android react-native-ios expo
所以我有一个带有活动的应用程序。该应用程序会在开始时检查 Internet 连接。如果没有 Internet 连接,它将显示一个带有刷新页面按钮的屏幕。问题是我的 API 调用 (Axios) 位于componentDidMount()第一次渲染后仅调用一次的位置。有什么办法可以重新加载页面,以便它调用componentDidMount再次?
我的意思是完全刷新。顺便说一句,我正在使用 EXPO。任何帮助表示赞赏。抱歉,没有示例,如果可能的话,我只是想了解一下
小智 0
请记住,通过在组件上调用 setState 函数,您可以刷新它。如果有一个要刷新页面的按钮,我会这样做:
<Button onPress={() => this.setState({dummy: 1})} />
Run Code Online (Sandbox Code Playgroud)
无论您反对传递给它什么,调用 setState 都会更新您的组件。我不确定重新渲染页面是否调用componentDidMount函数,所以也许您需要将 API 调用移至某个函数,并在您的 中以及在每个按钮按下事件之后func调用此函数。componentDidMount例子:
componentDidMount() {
apiCalls()
}
apiCalls() {
.... // your code
this.setState({dummy: 1})
}
render() {
<View>
...
<Button onPress={this.apiCalls.bind(this)} />
...
</View>
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72525 次 |
| 最近记录: |