【发布时间】:2018-06-13 10:12:55
【问题描述】:
我有一个对象存储为 url 中的键值对作为查询参数。该对象的键可能会更改,我想使用该对象中的每个键、值对来更新 redux 应用程序中 state 对象的键、值对。我需要以一种不会改变state 对象的方式这样做,并且我目前正在尝试实现此目标,如下所示:
case 'LOAD_SEARCH_FROM_URL':
let _state = Object.assign({}, state);
const args = action.obj.substring(1).split('&');
args.map((arg) => {
const split = arg.split('=');
_state = Object.assign({}, _state, {
[split[0]]: JSON.parse( decodeURIComponent( split[1] ) )
})
})
return _state;
这在简单的测试中运行良好,但我想确保这实际上没有执行任何突变。如果其他人可以就这个问题提供任何见解,我将不胜感激!
【问题讨论】:
标签: javascript reactjs redux side-effects mutation