반응형
React redux의 감속기에서 배열에 요소를 추가 할 수 있습니까?
arr[]
감속기의 redux 상태 배열 에 요소를 어떻게 추가 합니까? 나는 제공하고있다.
import {ADD_ITEM} from '../Actions/UserActions'
const initialUserState = {
arr:[]
}
export default function userState(state = initialUserState, action)
{
console.log(arr);
switch (action.type)
{
case ADD_ITEM:
return {
...state,
arr: state.arr.push([action.newItem])
}
default:
return state
}
}
돌연변이없이 배열에 항목을 추가하는 두 가지 옵션
case ADD_ITEM :
return {
...state,
arr: [...state.arr, action.newItem]
}
또는
case ADD_ITEM :
return {
...state,
arr: state.arr.concat(action.newItem)
}
push
배열을 반환하지 않지만 그 길이 ( docs )를 반환하는 배열을 길이로 바꾸고 가지고있는 유일한 참조를 잃어 버립니다. 이 시도 :
import {ADD_ITEM} from '../Actions/UserActions'
const initialUserState = {
arr:[]
}
export default function userState(state = initialUserState, action){
console.log(arr);
switch (action.type){
case ADD_ITEM :
return {
...state,
arr:[...state.arr, action.newItem]
}
default:return state
}
}
배열의 특정 위치에 삽입해야하는 경우 다음을 수행 할 수 있습니다.
case ADD_ITEM :
return {
...state,
arr: [
...state.arr.slice(0, action.pos),
action.newItem,
...state.arr.slice(action.pos),
],
}
샘플이 있습니다
import * as types from '../../helpers/ActionTypes';
var initialState = {
changedValues: {}
};
const quickEdit = (state = initialState, action) => {
switch (action.type) {
case types.PRODUCT_QUICKEDIT:
{
const item = action.item;
const changedValues = {
...state.changedValues,
[item.id]: item,
};
return {
...state,
loading: true,
changedValues: changedValues,
};
}
default:
{
return state;
}
}
};
export default quickEdit;
반응형
'IT' 카테고리의 다른 글
Android에서 사용자 정의 서체 사용 (0) | 2020.07.30 |
---|---|
문서 디렉토리에서 지정된 파일 삭제 (0) | 2020.07.30 |
숫자를 거듭 제곱하는 C ++ 함수는 무엇입니까? (0) | 2020.07.30 |
JavaScript의 Math.random은 무작위입니까? (0) | 2020.07.30 |
dplyr을 사용하여이를 행 제거 (0) | 2020.07.30 |