reactjs - 如何使用 redux 操作从数组中仅删除一个元素?
问题描述
我有一个包含对象和数字的元素数组以及运算符
前任:let a =[‘(‘,’2’,{}]
对象通过 redux 操作插入到数组中,数字和运算符通过键盘。
现在,每当我想删除一个对象时,9 都会再调用一个 redux 动作。每当我试图通过动作删除对象时,整个数组都会被删除。
如何从数组中只删除对象?
解决方案
首先记住不要改变状态。
其次,我认为您可能希望防止在不属于您的数组中的任何其他键上分派操作,并使用后退按钮键来分派DELETE_ACTION
。
// your insert action
dispatch({ type: 'INCERT_ACTION', payload: ObjOrString })
// your delete actions
dispatch({ type: 'DELETE_ACTION', payload: ObjOrString })
// your reducer to handle that action
function yourReducer(state = [], action) {
switch (action.type) {
case 'INCERT_ACTION':
return [...state, action.payload];
case 'DELETE_ACTION':
return state.filter(e => (typeof(e) !== "Object" && whate_ever_condition))
default:
return state
}
}
推荐阅读
- python - 即使 env 变量和 API 设置正确,ARA 异常
- php - 使用 Laravel 中的关系作为子查询来获取结果
- c# - 使用 roslyn 实现 LCOM3 指标
- javascript - 我的 API 中的特定端点不给我授权。(必须是请求的错误定义)
- protractor - CHAI 断言总是给出 PASS 结果并且永远不会失败
- python - 随机数生成,除了python中的圆圈内
- reactjs - 当窗口调整大小时,如何拆分反应子级以在 2 个不同的容器组件中呈现?
- typescript - typescript 在函数参数中同时传播和转换
- macos - mac在哪里写汇编代码或8086程序
- android - 如何将 GifDrawable 保存到图库?