Javascript 如何使自定义钩触发useEffect仅在道具更改时生效?
在这段视频中,Dan提取了一个useDocumentTitle自定义钩子,但我多次发现自定义钩子触发器,有时这是不必要的。问题是如何仅在关键道具更改时触发useEffect功能 无需使用自定义挂钩即可实现:Javascript 如何使自定义钩触发useEffect仅在道具更改时生效?,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,在这段视频中,Dan提取了一个useDocumentTitle自定义钩子,但我多次发现自定义钩子触发器,有时这是不必要的。问题是如何仅在关键道具更改时触发useEffect功能 无需使用自定义挂钩即可实现: useEffect(() => { console.log('useDocumentTitle ') document.title = myTitle); }, [someProp]) 但是如何使用定制挂钩呢 您可以简单地将键作为单独的参数传递,并在自定义挂钩中使用上面使用
useEffect(() => {
console.log('useDocumentTitle ')
document.title = myTitle);
}, [someProp])
但是如何使用定制挂钩呢
您可以简单地将键作为单独的参数传递,并在自定义挂钩中使用上面使用的代码
function useCustomHook({someProp, myTitle}) {
useEffect(() => {
console.log('useDocumentTitle ')
document.title = myTitle);
}, [someProp])
}
你会像这样使用它:
const customHookOptions = {someProp: props.key, myTitle: 'the title'}
useCustomHook(customHookOptions)
您可以做的另一件事是,使用react.memo()
还有一个hookusemo
,它有自己的位置来做繁重的工作