我应该使用useState还是setState?

时间:2020-07-29 16:40:40

标签: reactjs react-hooks

我有一个名为myFunction的函数,该函数不依赖任何内容。它只是生成一个多维数组。我应该直接将其返回值传递给useState()还是应该使用setState()?哪个是最佳做法,为什么?

A)

const MyComponent = () => {

  const myFunction = () => {
    ...
    return someArrayOfArrays;
  };

  const [value, setValue] = useState(myFunction());

  return (
    <div>
      ...
    </div>
  );
};

B)

const MyComponent = () => {

  const myFunction = () => {
    ...
    return someArrayOfArrays;
  };

  const [value, setValue] = useState([]);

  useEffect(() => {
    setValue(myFunction());
  });

  return (
    <div>
      ...
    </div>
  );
};

谢谢!

1 个答案:

答案 0 :(得分:0)

 useEffect(() => {
    setValue(myFunction());
  },[]);

您需要将此[]置于useEffect中,因为您只需运行一次即可。