从状态变量中读取时发出皮棉警告react-hooks / exhaustive-deps

时间:2019-12-18 09:05:27

标签: reactjs

在useEffect挂钩中,我访问状态数组的长度读数。这会触发棉短绒的反应钩/详尽下降。为什么会这样?此处的变量值未修改。

useEffect(() => {
    //... code processing search
    setHistoryList(history => [...history, search]); //adding latest search to history
    setHistPointer(history.length -1); //setting a pointer to the last history element
    //...
}, [search]);

触发警告

React Hook useEffect has a missing dependency: 'history.length'

我不认为history.legnth在这里是一个依赖项,因为它的值没有被修改,因此不需要钩子来触发,也不需要使用它的任何组件都可以重新渲染。

这不会触发警告:

useEffect(() => {
    //... code processing search
    setHistoryList(history => [...history, search]); //adding latest search to history
    //setHistPointer(history.length -1); //setting a pointer to the last history element
    //...
}, [search]);

0 个答案:

没有答案