第二个参数可以是引用类型,使用useCallback或者useMemo包一下就可以了。像下面这么写,即使在输入框中进行输入,consoleLog也不会执行,因为consoleLog不会发生改变
function App () {
const [name, setName] = useState('');
const consoleLog = useCallback(() => {
console.log(111);
}, [])
useEffect(() => {
consoleLog();
}, [consoleLog])
return <div>
111
<input value={name} onChange={(e) => {
setName(e.target.value);
}}/>
</div>
}
![240](https://cdn2.jianshu.io/assets/default_avatar/11-4d7c6ca89f439111aff57b23be1c73ba.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
IP属地:黑龙江