我有一个名为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>
);
};
谢谢!
答案 0 :(得分:0)
useEffect(() => {
setValue(myFunction());
},[]);
您需要将此[]置于useEffect中,因为您只需运行一次即可。