当数组中只有一个元素发生变化时触发 useEffect 钩子
Trigger useEffect hook when only one element in an array change
我试图仅在数组中的特定元素发生变化时触发 useEffect 挂钩。
现在,我有类似的东西:
const [array, setArray] = useState(["someText", "someOthersText"]);
useEffect(()=>{
// some function to run
}, [array[0]])
它运行良好,但我的 eslint 收到此警告:
React Hook useEffect has a complex expression in the dependency array. Extract it to a separate variable so it can be statically checked.
它建议不要将“array[0]”放入依赖项中。问题是我不想在 array[1] 更改时触发我的 useEffect 而只是索引 0.
处的元素
您是否有解决方案来避免此警告并且仍然可以正常工作或不可能?
我相信它是在告诉你这样做:
const [array, setArray] = useState(["someText", "someOthersText"]);
let item = array[0];
useEffect(()=>{
// some function to run
}, [item]);
我试图仅在数组中的特定元素发生变化时触发 useEffect 挂钩。 现在,我有类似的东西:
const [array, setArray] = useState(["someText", "someOthersText"]);
useEffect(()=>{
// some function to run
}, [array[0]])
它运行良好,但我的 eslint 收到此警告:
React Hook useEffect has a complex expression in the dependency array. Extract it to a separate variable so it can be statically checked.
它建议不要将“array[0]”放入依赖项中。问题是我不想在 array[1] 更改时触发我的 useEffect 而只是索引 0.
处的元素您是否有解决方案来避免此警告并且仍然可以正常工作或不可能?
我相信它是在告诉你这样做:
const [array, setArray] = useState(["someText", "someOthersText"]);
let item = array[0];
useEffect(()=>{
// some function to run
}, [item]);