代码之家  ›  专栏  ›  技术社区  ›  Anita

如何对不可变数据排序

  •  0
  • Anita  · 技术社区  · 6 年前

    我在redux中使用“无缝不变”。但是我遇到了一个我无法排序数据的情况。

    //减速机

    export const INITIAL_STATE = Immutable({
      data: [],
    });
    
    export const updateData = (state = INITIAL_STATE, action) =>
      Immutable(state.set('data', action.data));
    
    
    const ACTION_HANDLERS = {
      [UPDATE_DATA]: updateData,
    };
    export default createReducer(INITIAL_STATE, ACTION_HANDLERS);
    

    我正在获取数据,但当我尝试排序时,例如:(说)arr.sort,它会给我: 排序方法不能在不可变的数据结构上调用。

    如何对数据进行排序? 谢谢你的帮助。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Bonomi    6 年前

    我看不到您的sort函数被调用,但要执行此操作,您需要使用以下命令:

    const sortedData = Immutable.asMutable(updateData).sort(f => f.dataFieldToSort);