javascript - 在对象数组的 react setState 中使用扩展运算符

标签 javascript reactjs setstate

我有一个对象数组(语言代码和名称),我试图将它们传播到 React 组件中处于本地状态的另一个数组中。我尝试传播的数组结构是这样的:

let langs = [
  {code: "af", name: "Afrikaans"},
  {code: "sq", name: "Albanian"}
]

我正在尝试这样简单的事情:

this.setState({
  languages: [...langs]
}, 
  console.log(this.state.languages);
);

当我尝试在 setState 的回调中使用 console.log 语言时,数组为空。这里做错了什么?

最佳答案

setState是异步的,需要在回调中调用该函数。

this.setState({
  languages: [...langs]
}, () => console.log(this.state.languages)
);

关于javascript - 在对象数组的 react setState 中使用扩展运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49995535/

相关文章:

javascript - 朝我看的方向移动(webvr、三个js、Oculus Rift)

html - ReactJS - 覆盖按钮放在列表上方时不可点击

javascript - 根据字符串数组过滤 API 数据

reactjs - react native : Assigning value with setState()

javascript - 使用展开运算符多次连续设置状态

javascript - 在事件处理程序回调中传递事件 + 参数

javascript - 如何自定义 FullCalendar Bundle 的数据 [Symfony 4]

javascript - 如何为 HTML 中的 Select 元素添加阴影?

reactjs - 手动设置电流时,我使用什么 typescript 类型与 useRef() Hook ?

javascript - react render 正在使用旧的和新的状态值,而不仅仅是新值