2016-07-12 8 views
0

私はチェックボックスを備えたテーブルを持っています。ユーザーがチェックボックスを選択すると、IDがアクション作成者に送信されます。Lodashを使用してRedux/Reactでデータを追加/削除する

Component.js

handlePersonSelect({ id }, event) { 
    const { selectPerson, deselectPerson } = this.props; 
    event.target.checked ? selectPerson(id) : deselectPerson(id); 
} 

は私が失われていた時に、この段階までにすべての道を行くことができるよ

export function selectPerson(id) { 
    console.log("selected") 
    return { 
    type: SELECT_PERSON, 
    payload: id 
    }; 
} 

export function deselectPerson(id) { 
    return { 
    type: DESELECT_PERSON, 
    payload: id 
    }; 
} 

action.js: これは問題ですコード:

selectedPeopleステートは、それぞれのケースに基づいてIDを加算または減算する必要があります。現時点では、私はIDを選択解除するたびに、私の全体の "人"テーブルが消えます。

export default function(state = INITIAL_STATE, action) { 
    switch (action.type) { 
    case FETCH_PEOPLE: 
     return {...state, people: action.payload.data}; 
    case SELECT_PERSON: 
     return {...state, selectedPeople: [ ...state.selectedPeople, action.payload]}; 
    case DESELECT_PERSON: 
     return {...state, selectedPeople: _.without(state.selectedPeople, action.payload)}; 
    default 
     return state; 
    } 
} 

はまた、あなたがDESELECT_PERSONアクションを持っていなかった注意し、代わりに2 SELECT_PERSONアクション:

答えて

1

あなたはそう、すべての場合に減速からの完全な状態を返す必要があります。おそらくタイプミス。

+0

ありがとうございます!それは私がこれを試してみるタイプミスでした – lost9123193

+0

_withoutの代わりに_.outoutを使用しました。 – lost9123193

+0

申し訳ありませんが、それはタイプミスでした... – DDS

関連する問題