1
J'ai les code:L'utilisation immuabilité-aide dans React pour définir une valeur d'un (peut-être imbriquée) objet
var update=require('immutability-helper');
var state = {
step: 1,
fields: {
type: '',
name: '',
subtype: '',
team: '',
agreement: ''
}
};
function assignAttribute(attr, value) {
var temp = update(state, {
[attr]: {$set: value}
});
state = temp;
};
console.log(state); // -> { step: 1, fields: { type: '', name: '', subtype: '', team: '', agreement: '' } }
assignAttribute('step', 3);
console.log(state); // -> { step: 3, fields: { type: '', name: '', subtype: '', team: '', agreement: '' } }
assignAttribute('fields.type','superType');
console.log(state); // -> { step: 3, fields: { type: '', name: '', subtype: '', team: '', agreement: '' }, 'fields.type': 'superType' }
Ce que je veux est que la dernière ligne est la suivante:
{ step: '3', fields: { type: 'superType', name: '', subtype: '', team: '', agreement: '' } }
le principal problème semble être que dans la fonction assignAttribute [attr] n'est plus utilisé comme point notation que puis-je faire gérer cela?