2017-08-25 13 views
3

誰かが私に破壊を使用してオブジェクトからプロパティを削除する最善の方法を教えてくれますか?私は、以下のオブジェクトから単一のタスクを削除したい休憩操作で文字列補間を行う方法

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

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

エラー:あなたはcomputed property nameはなく、文字列の補間を使用していると、あなたは変数にプロパティ値を割り当てる必要が

./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 | 

答えて

4

これが機能するには

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);

+0

これは、しかし、わからないネストされたオブジェクトのために動作していないようです。 – loganathan

+0

質問にネストされたオブジェクトの変更は含まれません。プロパティーを削除するだけです。この値はオブジェクトです。私は質問のコードを反映するために例を更新しました。 –

+0

ありがとうございました – loganathan