setState 数组更新但不删除以前的
setState array update but not removing the previous
我有一个小问题。让我们假设这段代码
const [ChatDetailsRender, setChatDetailsRender] = useState([]);
//ChatDetailsRender it s equal= {10,20}
array=[1,2,3,4]
array.forEach((nr)=>{
setChatDetailsRender();
//here some code to add the array for each value in useState})
这是关于我想做什么的一些简单示例,但我遇到了一些困难,因为我还有一些数据库调用。一切看起来都很好,但我如何在不覆盖数据的情况下更新 ChatDetails useState?就像合并这两个数组一样。抱歉,我想这个问题已经在这里了,但我能找到的只是在 useState 中使用对象的示例,而我的示例只包含一个简单的数组。谢谢
您可以在更新时将新值连接到现有值,并使用回调方法设置状态。
const [ChatDetailsRender, setChatDetailsRender] = useState([]);
//ChatDetailsRender it s equal= {10,20}
array=[1,2,3,4]
setChatDetailsRender(previousChatDetails => previousChatDetails.concat(array));
我有一个小问题。让我们假设这段代码
const [ChatDetailsRender, setChatDetailsRender] = useState([]);
//ChatDetailsRender it s equal= {10,20}
array=[1,2,3,4]
array.forEach((nr)=>{
setChatDetailsRender();
//here some code to add the array for each value in useState})
这是关于我想做什么的一些简单示例,但我遇到了一些困难,因为我还有一些数据库调用。一切看起来都很好,但我如何在不覆盖数据的情况下更新 ChatDetails useState?就像合并这两个数组一样。抱歉,我想这个问题已经在这里了,但我能找到的只是在 useState 中使用对象的示例,而我的示例只包含一个简单的数组。谢谢
您可以在更新时将新值连接到现有值,并使用回调方法设置状态。
const [ChatDetailsRender, setChatDetailsRender] = useState([]);
//ChatDetailsRender it s equal= {10,20}
array=[1,2,3,4]
setChatDetailsRender(previousChatDetails => previousChatDetails.concat(array));