繁体   English   中英

如何避免thunk中对象的突变

[英]How to avoid mutation of the object in thunks

我想在每次调用我的动作时创建一个新object 我现在已经通过使用Object.assign实现了这一点,但有没有更好的方法来实现这一点,因为Object.assign不是深层副本?

export const addPlayer: Thunk = (players: any[], name: string) => (
  dispatch,
  getState
) => {
  const state = Object.assign({}, getState().players);
  errors.forEach(e => {
    state.playerQueue.push({
      player: {
        message: e.message,
        name
      }
    });
  });
  dispatch(playersAction(state));
};

你可以使用JSON.parse(JSON.stringify(object)); 这不是最好的方法,但您可以获得对象的深层副本。 适用于小物体。

暂无
暂无

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

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