reactjs - 我应该使用 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>
);
};
谢谢!
解决方案
useEffect(() => {
setValue(myFunction());
},[]);
你需要把这个 [] 放在 useEffect 中,因为你只需要运行一次。
推荐阅读
- sqlite - SQLite 连接字符串不起作用。在“||”附近给出:语法错误
- php - I get parse error code within my php code
- sql - 加快将 XML 文件插入 SQL Server 表的速度
- node.js - 安装 Nodemon 时出错 - 从未调用 cb()
- swift - Core Data codegen 如何决定是否将属性设为可选?
- angular - Angular 拦截器不会重新提交失败的请求
- swift - 需要双击按钮来更改图像
- docker - 如何为本地和产品设置管理多个 docker 文件和 docker-compose?
- mysql - SQL 强大的架构师
- angular - 在 Angular 中使用数据服务来集中数据和 http 调用