【发布时间】:2020-08-26 05:36:35
【问题描述】:
使用效果(()=>{
获取(`${BASE_URL}/requested_url`)
.then(响应 => response.json())
.then(json => setData(json))
}, []);
当我使用基于类的组件时,我必须使用状态布尔值来指定何时开始获取和停止......我试图完成工作很奇怪,但我仍然很想知道我们是否可以停止在 componentDidUpdate() 生命周期方法中也重复调用请求。
组件DidUpdate() { 如果(this.state.show2){ 返回获取(`${BASE_URL}/requested_url`) .then(响应 => response.json()) .then(json => setState({ 数据:json, 显示2:假 })) } 返回; }我知道这不是从生命周期进行请求调用的正确方法。也不要因此评判我......所以,请告诉我是否有人可以帮助我正确地做到这一点,或者这样做是否合法......
【问题讨论】:
-
componentDidUpdate(prevProps, prevState) {} - 你可以使用 prevState 参数,确定状态是否改变。例如 if (prevState.show2 !== this.state.show2) {// 提出您的请求}
-
你应该创造一些条件来满足你的要求
标签: reactjs react-functional-component react-lifecycle react-lifecycle-hooks react-class-based-component