programing

컴포넌트에 상태가 표시되는 이유는 무엇입니까?

goodsources 2022. 8. 29. 22:27
반응형

컴포넌트에 상태가 표시되는 이유는 무엇입니까?

제가 알기로는 vuex의 요점은 돌연변이/액션/게터를 통해서만 컴포넌트에 노출시킴으로써 상태의 일관성을 보장하는 것입니다.

그러나 컴포넌트는 돌연변이/액션을 사용하지 않고 $store.state를 직접 조작할 수 있기 때문에 상태가 일관되지 않을 수 있습니다.

vuex 상태가 직접 노출되는 이유는 무엇입니까?

돌연변이/행동/게터 등을 사용하는 것이 권장되는 베스트 프랙티스이지만 반드시 따라야 하는 것은 아닙니다.

getter를 쓰기에는 다소 오버킬이 될 수 있는 상태의 값을 읽고 싶을 수도 있습니다.

저는 중앙 집중식 시스템 없이 상태를 변화시키기 시작하면 혼란스러워질 수 있기 때문에 항상 일관성을 유지하기 위해 행동과 행동을 취하려고 노력합니다.

예를 들어 다음과 같습니다.user모듈을 설정합니다.유저명만 있으면 좋을지도 모르기 때문에$store.state.user.username하지만 저는 항상 사용자를 노출시키는 것을 선호합니다.getUser를 통해 컴포넌트에 액세스 할 수 있습니다.user.username.

주에 직접 액세스할 수 있는 프로는 시계입니다.

watch: {
  '$store.state.user' (to, from) {
    console.log('I changed!')
  }
}

이를 통해 사용자 상태가 변경될 때마다 알 수 있습니다.$this.$store.dispatch('setUser', myUser)액션에서도 똑같이 할 수 있어요.

여기서 열쇠는 일관성이 있다고 생각합니다만, 방법을 선택해 사용하는 것입니다만, 항상 베스트 프랙티스를 따르는 것을 추천합니다.

언급URL:https://stackoverflow.com/questions/47191231/why-is-state-visible-to-components

반응형