반응형
Nuxt에서 ES6 클래스를 vuex 저장소 상태로 사용
vuex 스토어에서 ES6 클래스를 nuxt로 설정하면 다음 경고가 표시됩니다.
WARN Cannot stringify arbitrary non-POJOs EndPoint
그리고 오브젝트를 그대로 사용하면 경고 없이 동작합니다.
그럼 어떻게 하면 제 주에서 ES6 수업을 이용할 수 있을까요?
내 모델:
export default class EndPoint {
constructor(newEndPoints) {
this.login = newEndPoints.login;
this.status = newEndPoints.status;
}
}
상태 변환:
commit(CoreMutations.SET_ENDPOINTS, new EndPoint(response.data));
오브젝트 사용:
const EndPoint = {
endPoints(newEndPoints) {
return {
login: newEndPoints.login,
status: newEndPoints.status
};
}
};
변환:
commit(CoreMutations.SET_ENDPOINTS, EndPoint.endPoints(response.data));
코멘트에서의 논의에 따라toJSON
클래스 내의 메서드는 클라이언트에 상태를 설정할 때 문제를 해결하지만 서버에 상태를 설정할 때 상태는 다음과 같이 됩니다.undefined
이 코드를 추가하면 문제가 해결됩니다.
toJSON() {
return Object.getOwnPropertyNames(this).reduce((a, b) => {
a[b] = this[b];
return a;
}, {});
}
언급URL : https://stackoverflow.com/questions/61603040/use-es6-classes-as-vuex-store-state-in-nuxt
반응형
'programing' 카테고리의 다른 글
Observerable과 Observable은 언제 사용해야 합니까? (0) | 2022.08.18 |
---|---|
Vuetify 앱에서 아웃라인 아이콘을 사용하는 방법 (0) | 2022.08.18 |
Vuex 스토어 모듈 액세스 상태 (0) | 2022.08.18 |
/***/와 같은 C 코멘트에 '<'가 필요한 이유는 무엇입니까? (0) | 2022.08.18 |
Vuex - 모듈의 액세스 상태 (0) | 2022.08.18 |