혹시 리액트 & 리덕스 쓰시는 분들 계실까요? 채택완료

안녕하세요 리덕스에서 action시 데이터를 수정하고 싶은데 변경하지 않는 값은

...기본값, 수정값 : 값 이러는 걸로 알고 있습니다,

혹시 맨밑 사진처럼 할려면 코드를 어떻게 짜야할까요?

1657590209304.PNG


 

1657590217963.PNG

답변 1개

채택된 답변
+20 포인트

case쪽에서 어떻게 매개변수들을 받아오시는지는 모르겠지만. 아마 대충 구조가

Copy
const reducer = (state = initailState, action) => {

  switch(action.type) {

    // 작성하신 코드들

    case loop: {

      return {

        ...state,

        audio: [{

          ...state.audio[0],

          // 만약 loop를 수정한다면

          // console.log(action) 으로 넘어오는 payload 키값과 그 안에 수정할 데이터의 키값을 확인

          loop: action.payload키값.수정할 값키 

        }]

      }

    }

    // 작성하신 코드들    
  }

}

다만 위의 코드는 audio의 배열이 추가 안된다는 것을 가정하에 작성한 코드입니다.

audio에 배열이 추가되고, 추가된 배열이나 혹은 이미 추가 되어있는 index번째의 object에 무슨 값을 바꾼다면 코드가 좀 달라집니다. 그렇게된다면 action의 payload값에서 수정할 index값이 넘어와야 할것입니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

답변 감사합니다 !

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고