javascript - 如何在休息操作中进行字符串插值

标签 javascript ecmascript-6 redux react-redux ecmascript-next

谁能告诉我使用解构从对象中删除属性的最佳方法?我想从下面的对象中删除单个任务

Object {task111: Object, task113: Object, task114: Object}

const taskId = `task${action.task.id}`;
{ [taskId]: discard, ...newState } = state;
return newState;

错误:

 ./src/reducers/taskReducer.js
Syntax error: Unexpected token, expected ; (32:13)

  30 |      
  31 |          const taskId = `task${action.task.id}`
> 32 |          { [taskId]: discard, ...newState } = state;
     |                    ^
  33 |          return newState
  34 |   

最佳答案

您正在使用 computed property name ,而不是字符串插值,您需要将属性值分配给变量才能使其正常工作。

const state = {task111: { a: 1 }, task113: { b: 2 }, task114: { c:  3 }};

const action = {
  task: {
    id: 113
  }
};

const taskId = `task${action.task.id}`;

const { [taskId]: discard, ...newState } = state;

console.log(newState);

关于javascript - 如何在休息操作中进行字符串插值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45880248/

相关文章:

javascript - 如何使用 React Hooks 获取 Antd Form 的值?

Javascript forEach() 在 IE 中不起作用

javascript - 即使在设置唯一键时也会 react redux 重复键

reactjs - 按 Press + Redux 更改样式

javascript - 在等待结果之前就触发了 Promise

javascript - jsonp 结果不是函数

javascript - eslint 规则强制变量在 block 的顶部声明?

javascript - 在 JavaScript ES6 中,我如何只从散列中获取一些属性?

javascript - 通过复选框在 Redux 状态中切换 True 和 False

javascript - 完成一个动画然后开始另一个