vue3, vuex4 사용중임.
state: {
users: [],
},
여기서 users를
setUsers(state, us) {
state.users = us; // 배열 교체
},
이렇게 하니까
<ul>
<li v-forin users"
:keyid">{{ user.name }}</li>
</ul>
const users = computed(() => store.state.users);
이게 작동이 안됌. 리스트가 업데이트가 아예 안되는데 어케 고쳐야함? gpt씹년 절대 못풀고 google 검색만 3시간짼데 도움좀..
v-for복붙 잘못된건가저건 actions는 뭐쓰는데
이상하게 복붙되어있네; updateUsers({commit}, users) { console.log(users); commit('setUsers', users); },
websocket서버에서 전체 userList 오브젝트 어레이를 받아와서 사용중
우선 액션으로 불러온 데이터가 콘솔에 잘찍힌다고 치면 getters에 users : (state)=>state.users 해놓고 컴포넌트에서 쓸때 const users = computed(()=>store.getters.users) 해서 게터스 통해서 써보셈 불러올땐 const changeUser= ()=>{ store.dispatch('updateUsers') } 난 스테이트 바로써도 되긴하던데
데이터는 잘 바뀌는데 computed가 데이터 바뀌는걸 캐치를 못하고 있음.. watch(effect)도 안먹히고... getter도 써봤는데 아예 인식을 못하는중
비슷한 액션스코드 async fetchUserInfo({ commit }) { try { const response = await axios.get(`${process.env.VUE_APP_API_BASE_URL}/api/members/userinfo`, { withCredentials: true }); commit('setUser', response.data); } catch (err:any) { commit('setError', '사용자 정보 로딩 실패!'); console.log(err.response?.data || '알 수 없는 오류'); 이렇게해보던가