繁体   English   中英

更新 Switch case 中的数据

[英]Update data in Switch case

我从 function 接收数据并使用调度,我将新数据发送到开关盒,

  • 需要通过数据中的 id 找到匹配项。 (我可以用过滤器来做......)

  • 在收到的 object 中,将数据替换为新数据(更新数据 [])。

Action.data 返回 object

我用 redux 反应

问题是如何在switch case中编写它?

let initialValues = {

  data: [],
 
};

const AdminReducer = (state = initialValues, action) => {
  switch (action.type) {
   
     case UpdateOneBank:
      return {
        ...state,
        data: action.data.map((p) => p._id === state.data.filter((item) => item._id === action.data._id)),
      };

   
    default:
      return state;
  }
};

//get data
export const UpadteBank = (data) => async (dispatch) => {
  dispatch({ type: SubmitStart });
  try {
    let snap = await Admin.UpdateBank(data);

    dispatch({ type: GetDataBank, data: snap.data });
  } catch (err) {
    dispatch({ type: Error, error: err.message });
  }
};

尝试这个

return {...state, data: state.data.map((p) => action.data.find((item) => item._id === p._id) || p) };

如果项目将在 action.data 中找到,它将被粘贴。 如果它不成立,则返回以前的数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM