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