Javascript 如何检测将使用react钩子更新的组件?

Javascript 如何检测将使用react钩子更新的组件?,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,React钩子为MIMIC生命周期方法componentDidUpdate提供了可能性,其中useEffect没有依赖项: useEffect(() => { // componentDidUpdate }); 如何检测某些道具是否将使用react挂钩进行更新 需要在某些更改之前执行一些代码。每当组件重新呈现时,将调用不带依赖项的useEffect。这就像是componentDidMount和componentdiddupdate 但是,如果您希望跟踪特定道具的更改,可以将其添加到

React钩子为MIMIC生命周期方法
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 (...);
}