2017-12-27 25 views
0

私はreduxで反応したネイティブアプリを開発中です。配列から特定の項目を削除することはできません。 state.tournamentsは配列で、削除するアイテムには、アクションからreduxに送信するIDが含まれている必要があります。あなたは正しくフィルタを使用していない状態配列からアイテムを削除する - redux

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; 
    } 
}; 
+0

ここの人々はあなたを助けることができるようにするために、あなたはフィドルを作成する必要がありますいずれかまたは

この

は私の減速でコードのライブデモやログやその他の追加情報を提供することができます。 –

答えて

1

、これを試してみてください:

state.tournaments.filter(tournament => tournament.id !== action.payload.id) 
関連する問題