javascript - 这段代码如何更新 React 中的状态?

标签 javascript reactjs

让我感到困惑的是 setState 参数中的 [event.target.name]: event.target.value。我以前没有在 Javascript 中见过这种方括号表示法,所以我不明白为什么键周围有方括号。

onChange = event => {
    this.setState({ [event.target.name]: event.target.value })
};

不确定我在这里不理解/遗漏了什么 Javascript 结构。

最佳答案

这仅意味着属性名称是动态的,在本例中来自 event.target.name

我想下面的例子让你明白了

const name = 'foo';

const obj1 = {
  name: 'bar'
}

const obj2 = {
  [name]: 'bar'
}

console.log(obj1);
console.log(obj2);

这打印

{ name: 'bar' }
{ foo: 'bar' }

关于javascript - 这段代码如何更新 React 中的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58103246/

相关文章:

reactjs - 在 React 应用程序中通过 laravel-echo 创建和加入 websocket

javascript - 使用 RxJS 如何缓冲函数调用,直到另一个异步函数调用已解决

reactjs - 后验证失败 : Path '...' is required when using react-hooks-form

java - 是否可以在输入类型 ="file"上执行此操作?

javascript - 从编辑器监听器中获取 CellEditing 插件

javascript - 在 axios 拦截器中使用时 redux 调度不起作用

javascript - 如何计算列表中当前的滚动位置?

javascript - 我什么时候应该在我的 React 应用程序中使用 Redux?

javascript - RequireJS 和原型(prototype)继承

javascript - 将 moment.js 对象时间舍入到最近的 30 分钟间隔