나는 액션 페이로드를 감속기에 전달하고 감속기가 적절한 data
을 업데이트하고 전체 상태를 반환하기를 원합니다.감속기 상태를 조치로 업데이트하는 방법은 무엇입니까?
감속기 :
const initialState = {
fname: 'FNAME',
lname: 'LNAME',
data: []
}
const DATA1 = [
{id:1, name:'D1a'},
{id:2, name:'D1b'}
]
const DATA2 = [
{id:1, name:'D2a'},
{id:2, name:'D2b'}
]
export default function peopleReducer(state=initialState, action){
console.log(action.payload);
switch(action.payload){
case "case1":
return {...state, DATA1}; // how do I code this?
case "case2":
return {...state, DATA2};
default:
return state
}
}
가 어떻게이 action.payload
에 따라 하나에 state.data
를 설정합니까?
case "case1":
return {
...state,
data: [...state.data, ...DATA1]
};
을하지만 그것은 데이터를 추가 유지 :
나는 시도했다. 스프레드 연산자...DATA1
을 사용하고
data[]
으로 푸시하기 전에 데이터를 지우고 싶습니다.
과 같을 것이다 당신이 문을 전환 할 action.type을 통과해야하고 더 "케이스 가구 1"페이로드가 어떻게 당신이 어떤 상태를 반환 할 수 있습니다 행동에 없다? – Aaqib
이전 데이터를 상태로 유지하고 싶지 않으면 return 문에 왜 넣으시겠습니까? 그냥 데이터 : [... data1] –