reactjs - 使用 useState() 替换完整对象的方法是什么?
问题描述
在我的应用程序中,我有一个对象数组和一个保存当前选定对象的状态。该对象不是深度嵌套的,只包含原始类型。该对象来自一个点击事件。如果我选择一个新对象,则当前选定对象的状态应更改为新对象。不需要来自先前选定对象的数据。那么改变状态的最佳方法是什么(性能方面、可读性方面等)。
const [currentSelectedObject, setCurrentSelectedObject] = useState();
setCurrentSelectedObject(newObject);
或者
setCurrentSelectedObject({...currentSelectedObject, ...newObject});
或者
setCurrentSelectedObject( currentSelectedObject => {...currentSelectedObject, ...newObject});
解决方案
在这种setCurrentSelectedObject(newObject)
情况下是最好的。
构造setCurrentSelectedObject({...currentSelectedObject, ...newObject})
看起来很危险,因为这种方式从上次渲染时间开始currentSelectedObject
就过时了,并且上次渲染时间和当前之间的状态将丢失。
推荐阅读
- excel - 将文件移动到另一个目录
- python-3.x - 如何使用 seaborn.barplot() 进行负输出?
- javascript - 使用 Firebase UI 重新验证用户身份
- azure - 我们可以使用 Azure 数据迁移服务将数据从本地 SQL Server 迁移到 Azure SQL DW
- javascript - 将 ReactJS 加载为 CDN 并呈现简单的 hello
- postgresql - 无法运行 mix ecto.setup
- javascript - 如何通过发送路由道具
? - java - 使用 Spring 安全注册创建会话
- wildfly - 在 Galleon 功能包中配置 Wildfly Standalone.xml
- php - 如果您知道原始模式,是否可以对字符串进行反向搜索替换?