相关疑难解决方法(0)

了解 React Hooks 'exhaustive-deps' lint 规则

我很难理解 'exhaustive-deps' lint 规则。

我已经阅读了这篇文章这篇文章,但我找不到答案。

这是一个带有 lint 问题的简单 React 组件:

const MyCustomComponent = ({onChange}) => {
    const [value, setValue] = useState('');

    useEffect(() => {
        onChange(value);
    }, [value]);

    return (
        <input 
           value={value} 
           type='text' 
           onChange={(event) => setValue(event.target.value)}>
        </input>
    )
} 
Run Code Online (Sandbox Code Playgroud)

它需要我添加onChangeuseEffect依赖项数组。但在我的理解中onChange永远不会改变,所以它不应该存在。

通常我是这样管理的:

const MyCustomComponent = ({onChange}) => {
    const [value, setValue] = useState('');

    const handleChange = (event) => {
        setValue(event.target.value);
        onChange(event.target.value)
    }

    return (
        <input 
           value={value} 
           type='text'
           onChange={handleChange}>
        </input> ?
    )
} …
Run Code Online (Sandbox Code Playgroud)

reactjs eslint react-hooks

75
推荐指数
2
解决办法
6万
查看次数

标签 统计

eslint ×1

react-hooks ×1

reactjs ×1