首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用动态key正确解构赋值?(反应/解构-赋值)

如何使用动态key正确解构赋值?(反应/解构-赋值)
EN

Stack Overflow用户
提问于 2020-01-10 04:43:30
回答 1查看 442关注 0票数 0

我只是得到了一个关于解构这段代码的eslint错误,但我不知道它应该是什么样子。在这种情况下,我可能会忽略这个警告,因为这个代码已经很简洁了,但是,我很好奇它是如何被解构的。任何想法或指导都是值得感谢的。

代码语言:javascript
复制
  _onChange = (e, key) => {
    const edited = { ...this.state[key] }; <--- this line is throwing the eslint error
    edited[e.name] = e.value;
    this.setState({
      [key]: edited,
    });
  };
EN

回答 1

Stack Overflow用户

发布于 2020-01-10 05:40:29

所以,我能够带着评论到达那里。

在一天结束时,我意识到我只需要“编辑”就可以成为一个包含非结构化对象的对象。

代码语言:javascript
复制
 _onChange = (e, key) => {
    const { [key]: { ...edited } } = this.state;
    edited[e.name] = e.value;
    this.setState({
      [key]: edited,
    });
  };

在这里,edited将变成{ ...this.statekey },经过比较,它看起来与前面的代码结果相同,但使用了解构赋值。

如果人们觉得这是不正确的,我希望他们能发表评论。

更简单的是,Emile的建议!

代码语言:javascript
复制
 _onChange = (e, key) => {
    const { [key]: current } = this.state;
    this.setState({
      [key]: { ...current, [e.name]: e.value },
    });
  };
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59671819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档