我不明白这段代码是做什么的
useEffect(() => {
document.addEventListener('input', event => {
if (event.target.tagName.toLowerCase() !== 'textarea') {
return
}
autoExpand(event.target)
}, false)
}, [])
让我试着解释一下你的代码中有什么。
关于useEffect
钩子,你可以在文档中读到:
效果挂钩允许您在函数组件中执行副作用。
在您的情况下,依赖项数组是空的[]
这意味着它在功能组件加载时仅调用一次。类似地,就像在基于类的组件中一样,但来自文档的组合生命周期事件:
如果你熟悉 React 类生命周期方法,你可以
useEffect
Hook 视为componentDidMount
、componentDidUpdate
和componentWillUnmount
的组合。
如果依赖项数组中有一个对象,它将在更改后再次触发传递的函数。
我建议在下面进一步阅读有关useEffect
钩子的详细信息:
https://reactjs.org/docs/hooks-effect.html
它将帮助您更深入地了解。我希望这有所帮助!