當反應狀態中的值為空時,我想觸發一個 API 執行一些操作,反應狀態鉤子中有沒有辦法實作這一點?
uj5u.com熱心網友回復:
如果您使用的是功能組件,則可以使用具有適當依賴關系的“useEffect”掛鉤。您可以選擇的類基組件(如果我正確理解您的情況)類似于“componentWillUnmount()”方法。
uj5u.com熱心網友回復:
您可以useEffect將狀態作為依賴項進行掛鉤,您可以在其中檢查狀態是否為空并采取相應措施。
例子:
const [state, setState] = useState([]);
useEffect(() => {
if (state.length !== 0) {
return;
}
// Can make your API call here (preferably call a function that does it)
// and then set the state.
setState(...);
}, [state]);
useEffect是一個鉤子,它接受一個回呼作為第一個引數,一個依賴陣列作為第二個引數。
只要陣列中的任何依賴項發生更改,回呼就會在重新渲染時執行。
- 注意:這僅與功能組件相關,對于基于類的組件,我們有
componentDidUpdate生命周期掛鉤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/450794.html
