Javascript 如何检测将使用react钩子更新的组件?
React钩子为MIMIC生命周期方法Javascript 如何检测将使用react钩子更新的组件?,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,React钩子为MIMIC生命周期方法componentDidUpdate提供了可能性,其中useEffect没有依赖项: useEffect(() => { // componentDidUpdate }); 如何检测某些道具是否将使用react挂钩进行更新 需要在某些更改之前执行一些代码。每当组件重新呈现时,将调用不带依赖项的useEffect。这就像是componentDidMount和componentdiddupdate 但是,如果您希望跟踪特定道具的更改,可以将其添加到
componentDidUpdate
提供了可能性,其中useEffect
没有依赖项:
useEffect(() => {
// componentDidUpdate
});
如何检测某些道具是否将使用react挂钩进行更新
需要在某些更改之前执行一些代码。每当组件重新呈现时,将调用不带依赖项的useEffect。这就像是
componentDidMount
和componentdiddupdate
但是,如果您希望跟踪特定道具的更改,可以将其添加到
还可以查看下面的帖子,了解有关使用useEffect模拟生命周期方法以及仅在更新时执行useEffect的更多详细信息
注意:根据您的需求,您可以向依赖项数组中添加多个值如果您试图模仿
组件WillReceiveProps的行为
您可以轻松地将逻辑放入组件的主体中:
function MyComponent(props) {
// do stuff with props (it's like componentWillReceiveProps)
return (...);
}
你不需要钩子
请记住,useEffect在使用这些道具渲染组件之后而不是之前运行
newProps->调用MyComponent->DOM更新->调用useEffect
function MyComponent(props) {
// do stuff with props (it's like componentWillReceiveProps)
return (...);
}