首页 文章

从状态数组中删除项目 - redux

提问于
浏览
0

我正在使用redux处理react-native app . 我无法从数组中删除特定项目 . state.tournaments是数组,我要删除的项必须包含我从动作发送到redux的ID .

这是我的减速机:

import {
  TOURNAMENT_NAME_CHANGED,
  TOURNAMENT_CREATE,
  SAVE_TOURNAMENT,
  DELETE_TOURNAMENT
} from '../actions/types';

const INITIAL_STATE = {
  name: null,
  admin_token: null,
  tournaments: []
};

export default (state = INITIAL_STATE, action) => {
  switch (action.type) {
    case TOURNAMENT_NAME_CHANGED:
        return { ...state, name: action.payload };
    case TOURNAMENT_CREATE:
        return { ...state, admin_token: action.payload.data.admin_token };
    case SAVE_TOURNAMENT:
        return { ...state, tournaments: [...state.tournaments, action.payload] };
    case DELETE_TOURNAMENT:
        return { ...state, tournaments: state.tournaments.filter((name, id) => id !== action.payload.id) };
    default:
      return state;
  }
};

1 回答

  • 1

    你没有正确使用过滤器,试试这个:

    state.tournaments.filter(tournament => tournament.id !== action.payload.id)
    

相关问题