我有一个useEffect()
方法,该方法在加载组件时运行一次。
useEffect(() => {
(async function fetchData() {
const results = await stateIsoAPI();
setStates(results); // API results to other trigger other Use effect
})();
}, []);
但是我仅在用户首次键入信息时才需要。
如果我添加输入值的状态依赖关系,则每次用户键入时都会触发:
useEffect(() => {
(async function fetchData() {
const results = await stateIsoAPI();
setStates(results); // API results to other trigger other Use effect
})();
}, [<inputValueState>]);
但这不是所需的行为。怎么解决?
答案 0 :(得分:0)
在IIFE
之前添加快速退出条件
useEffect(() => {
if(!isFirstTime(<inputValueState>)) {
return () => {}
}
(async function fetchData() {
const results = await stateIsoAPI();
setStates(results); // API results to other trigger other Use effect
})();
}, [<inputValueState>]);