IT이야기

Vuex & Storybook:정의되지 않음, null 또는 원시 값에서 대응적 속성을 설정할 수 없음: 정의되지 않음

cyworld 2022. 5. 23. 21:45
반응형

Vuex & Storybook:정의되지 않음, null 또는 원시 값에서 대응적 속성을 설정할 수 없음: 정의되지 않음

스토리북과 함께 Vuex를 사용할 때 문제가 있어.나는 그 문제를 증명하기 위해 Vue CLI와 스토리북 v5.3을 사용하여 약간의 기본적인 앱을 만들었다.그 코드는 기둡에 있는리포에서 찾을 수 있다.

기본적으로 입력 필드 데이터를 내 저장소에 커밋하려고 한다.그러나 "정의되지 않음, null 또는 원시 값에 반응하는 속성을 설정할 수 없음: 정의되지 않음"이라는 Vuex 경고와 TypeError: "index.js:47 TypeError: 'in' 연산자를 사용하여 정의되지 않은 'foo'를 검색할 수 없음"이라는 경고가 표시된다.

나는 정말 복잡한 일을 하고 있지 않기 때문에 왜 그것이 작동하지 않는지 모르겠다.내가 생각할 수 있는 유일한 것은 Vue와 Vuex가 단지 Storybook이 개발되는 Reaction을 잘 다루지 못한다는 것이다.

전에 본 사람 있어?

건배.

부품과 GitHub에서 몇 가지 문제점을 발견했어.그것들을 고친 후에 나는 오류 없이 그것을 실행할 수 있었다.

첫째, 없다.data-index의 탓으로 돌리다<input>.이 추가되면 반드시 정수로 구문 분석하여 스토어 돌연변이의 배열 지수로 사용할 수 있도록 한다.

둘째, 의 사용Vue.set()틀렸다.기대되는 주장은 다음과 같다.

  1. 기존의 반응형 객체/어레이
  2. 추가하고 대응하려는 속성/인덱스.
  3. 새 속성/인덱스의 값.

변경 시도

Vue.set(state.myData[index], "foo", data);

Vue.set(state.myData, index, {"foo": data});

https://vuejs.org/v2/api/#Vue-set

너 지금 써야 하는 거 아니야?dispatch대신에Vue.setVuex에서? (StoreModule.js)

참조URL: https://stackoverflow.com/questions/59919325/vuex-storybook-cannot-set-reactive-property-on-undefined-null-or-primitive

반응형