cbu*_*ler 2 javascript immutability ecmascript-6 redux redux-actions
我正在尝试将搜索历史保存在react/redux应用程序中(使用redux-actions)我在reducer中制作.我想保存最近的十次搜索,并在开头有最新的搜索.我有一个对象数组,我想(不可避免地)在数组的开头添加一个新对象,并将所有剩余的结果向下移动一个.我也不希望数组增长超过10个元素.我目前只是每次都用这个覆盖初始元素:
[setWorkPermit]: (state, action) => ({
...state,
searchHistory: Object.assign([...state.searchHistory], { [0]: action.payload }),
}),
Run Code Online (Sandbox Code Playgroud)
我希望在ES6中有一个干净的方法来做到这一点.任何接受者?
小智 5
我认为数组切片可以解决这个问题!
只需构建一个新的数组,其中包含索引为零的新对象,然后是前面0-9个索引的切片,如下所示:
searchHistory: [action.payload, ...state.searchHistory.slice(0,9)],
Run Code Online (Sandbox Code Playgroud)
希望这有帮助!
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |