반응형
Vuex 상태 변경으로 인해 구성 요소가 다시 렌더링되지 않음
인증에 따라 조건부 렌더링이 있는 탐색 모음이 있음:
<template>
<div id="routing">
<b-navbar variant="light" type="light">
<b-navbar-brand>
<img id="drage" src="../assets/icon.svg"/>
<b-nav-text id="txt">
drac1
</b-nav-text>
<div v-if="loggedIn === true">
<router-link id="link" to="/" exact>
Home
</router-link>
<router-link id="link" to="configuration" exact>
Config
</router-link>
<b-nav-text id="hellotext">
Hello, {{ username }}
</b-nav-text>
</div>
</b-navbar-brand>
</b-navbar>
</div>
</template>
<script>
export default {
name: 'topnavbar',
data () {
console.log(this.$store.state.loggedIn) // Changes from false to true as it is supposed to, and logs it.
return {
username: this.$store.state.username,
loggedIn: this.$store.state.loggedIn
}
}
}
</script>
THE 값loggedIn
조건부 렌더에 의존하는 것은 다음에서 변경된다.false
로true
사용자가 로그인한 경우.하지만, 그router-link
사용자 이름 탐색 텍스트뿐만 아니라 항목도 표시되지 않는다.
왜 상점 상태의 변화는 이 경우에 항해봉의 갱신을 촉발하지 않는가?
변경 내용을 반영하려면 계산된 속성을 사용해야 한다.
export default {
name: 'topnavbar',
data () {
return {
}
},
computed: {
username(){
return this.$store.state.username
},
loggedIn(){
return this.$store.state.loggedIn
}
}
}
참조URL: https://stackoverflow.com/questions/47459070/vuex-state-change-doesnt-make-component-re-render
반응형
'IT이야기' 카테고리의 다른 글
C에서 stdin 및 stdout 재라우팅 (0) | 2022.05.04 |
---|---|
GCC의 __attribute__(_packed__)에 해당하는 Visual C++ (0) | 2022.05.04 |
Vue.js Safari 모바일 및 호환성 (0) | 2022.05.03 |
Vue.js 2.0 모듈 빌드 실패:구문 오류:웹 팩, Elixir 및 꿀꺽을 사용한 예상치 못한 토큰 (0) | 2022.05.03 |
변수 선언 이전과 루프 내 간의 차이? (0) | 2022.05.03 |