我在here上阅读了这一行
this.setState({ chats: [...this.state.chats, data], test: '' });
我认为我们在状态中保存聊天数组,... this.state.chat指向原始聊天变量,然后我迷路了
最佳答案
该代码更新了两个状态属性:chats
-使用array spread从先前的chats
和新的data
创建新的数组。test
-将测试更新为空字符串。这是原始代码中的错字,应该为text
。
传播示例:
const chats = [1, 2, 3];
const data = 4;
const newChats = [...chats, data];
console.log(newChats);
但是,由于状态是异步的,因此最好使用updater callback更新状态,因为:
updater函数接收的prevState和props均为
保证是最新的。更新器的输出浅
与prevState合并。
更新示例:
this.setState((prevState) => ({ chats: [...prevState.chats, data], test: '' }));
关于javascript - React.js:有人可以向我详细说明这一行吗,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50084057/