首页 > 解决方案 > 我应该使用 useState 还是 setState?

问题描述

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

一个)

const MyComponent = () => {

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

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

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

二)

const MyComponent = () => {

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

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

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

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

谢谢!

标签: reactjsreact-hooks

解决方案


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

你需要把这个 [] 放在 useEffect 中,因为你只需要运行一次。


推荐阅读