>  Q&A  >  본문

Redux Store 슬라이스에서 배열 값을 수정하는 방법 탐색

<p>위치 정보를 저장하는 슬라이스가 있습니다. 저는 set과 setLocation이라는 두 가지 함수를 선언했습니다. set 함수는 위치 배열을 받아들이고 setLocation 함수는 위치를 설정해야 합니다. </p> <p>이것은 위치 변수에 저장된 샘플 데이터입니다: </p> <pre class="brush:php;toolbar:false;">const 위치 = [{이름: '1', 색인: 0}, {이름: '2', 색인: 1}];</pre> ; <p>이것은 내 슬라이스 코드입니다:</p> <pre class="brush:php;toolbar:false;">'@reduxjs/toolkit'에서 { createSlice } 가져오기 const LocationSlice 내보내기 = createSlice({ 이름: '위치', 초기상태: { 위치: null, }, 감속기: { 설정: (주, 위치) => state.locations = 위치.페이로드 }, setLocation: (주, 위치) => state.locations[location.index] = 위치 } }, }) const { set, setLocation } = LocationSlice.actions 내보내기 기본 위치 내보내기Slice.reducer</pre> <p>set(locations) 호출이 유효합니다. 그러나 위치가 위치 배열의 값인 경우 setLocation(location)을 사용하여 위치 배열의 단일 위치를 바꿀 수 없습니다. setLocation() 함수에서 console.log(state.location)를 사용하면 일부 프록시 개체가 생성됩니다. </p>
P粉197639753P粉197639753438일 전419

모든 응답(1)나는 대답할 것이다

  • P粉248602298

    P粉2486022982023-08-31 09:48:51

    당신은 여기에 있습니다setLocation操作中得到Proxy的问题是因为在搜索特定位置时,你传递了location.index,但你应该传递location.payload.index.

    으아악

    회신하다
    0
  • 취소회신하다