如何为 useEffect 中的每个props调用单独的代码

IT技术 reactjs react-hooks use-effect
2021-05-10 06:54:10

我想制作 useEffect 方法,该方法在任何props更改时调用,但不是所有代码,只有一个专用于此props

我想象这样的事情......在这一刻,所有的代码都被称为一、二或三发生了变化。

const SomethingComponent = (props: any) => {
   const {one, two, three} = props;

   useEffect(() => {
      if(something for one props){
         code for one
      }

      if(something for two props){
         code for two
      }

      if(something for three props){
         code for three
      }
   }, [one, two, three]);
}
1个回答

您可以使用不同的钩子,并为每个钩子指定一个依赖项。这样,useEffect当依赖项更改时,只有特定的才会触发:

const SomethingComponent = (props: any) => {
    const { one, two, three } = props

    useEffect(() => {
        // code for one
    }, [one])

    useEffect(() => {
        // code for two
    }, [two])

    useEffect(() => {
        // code for three
    }, [three])

    return null;
}