如何为使用中的每个道具调用单独的代码

时间:2019-09-18 18:31:16

标签: reactjs react-hooks use-effect

我想使用useEffect方法,该方法在更改任何道具但不是全部代码时都调用,只是一个专用于此道具的代码

我想像那样的东西... 在这一刻,所有代码都被称为一,二或三。

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 个答案:

答案 0 :(得分:3)

您可以使用不同的钩子,并为每个钩子赋予一个依赖关系。这样,只有在依赖项更改时,才会触发特定的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;
}