0
내가 타이프 라이터와 각도이 일부 감속기 로직을 쓰고 있어요을 구현하고 나는 기본적으로오른쪽 방법 감속기
const addOption = (state: Array<Poll>, id: number, payload: any) => {
let pollToUpdate = {};
state.map((poll) => {
if(poll.poll_id == id) {
pollToUpdate = poll;
}
});
const newState = state.filter((elem) => {
return elem.poll_id !== id;
});
pollToUpdate['options'].push(payload.new_option);
return [...newState, Object.assign({}, pollToUpdate)];
}
다음과 같은 논리를 가지고, 나는 각도에 다음과 같은 인터페이스에 의해 정의 된 개체의 배열을 가지고 2
export interface Poll {
poll_id: number,
options: Array<{name: string, votes: number}>,
voter_ids: Array<number>,
createdBy: string
}
그리고 옵션 배열에 새 개체를 추가하려고합니다. 여기
const action = {
type: 'ADD_OPTION',
payload: {
poll_id: 1,
new_option: {name: 'option 3', votes: 0}
}
};
const nextState = reducer(initialState, action);
는 감속기 논리가 "불변"로 간주 하는가 감속기 호출을합니다. 나는 그것을 올바르게 구현하고 있는가?