2017-05-15 64 views
1

給定一個immutability-helper節,如:變量的不變性輔助的目標關鍵字合併

new_state = update(this.state, {$merge: { 
    name: event.target.value 
}}); 

有什麼辦法來取代「名稱」上面的參數/變量的關鍵?我想讓這種類型的處理程序更通用。作爲發送ARG包含此節告訴更新的內容合併功能,類似於(不工作,嘗試創建密鑰「ARG」):

handleChange = (arg, event) => { 
    new_state = update(this.state, {$merge: { 
     arg: event.target.checked 
    }}) 
    // setState(), etc. 
} 

我想不通的祕密醬,使其工作。

回答

2

爲了更新一個動態密鑰,你需要將它們內[]添加像

handleChange = (arg, event) => { 
    new_state = update(this.state, {$merge: { 
     [arg]: event.target.checked 
    }}) 
    // setState(), etc. 
} 

您可以找到的文檔here

+0

真的嗎?不知何故,我覺得這很容易。這在哪裏記錄?我在永恆性輔助者npm頁面上看不到任何關於它的事情......不能從這裏嘗試它 - 今晚會嘗試並回來 - 謝謝! – Omortis

+0

感謝,作品像一個魅力。對不起,遲到的回覆,我離開了這幾天...這是記錄在某個地方? – Omortis

+0

我會盡力找到一個文件,將其添加到答案 –