我有一个名为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>
);
};
谢谢!
useEffect(() => {
setValue(myFunction());
},[]);
你需要把这个[]放在useEffect中,因为你只需要运行它一次。