Vuex๊ฐ ๋ฌด์์ธ๊ฐ์? | Vuex
Vuex๊ฐ ๋ฌด์์ธ๊ฐ์? Vuex๋ Vue.js ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ํ ๊ด๋ฆฌ ํจํด + ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ ์ปดํฌ๋ํธ์ ๋ํ ์ค์ ์ง์ค์ ์ ์ฅ์ ์ญํ ์ ํ๋ฉฐ ์์ธก ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก ์ํ๋ฅผ
v3.vuex.vuejs.org
ํ์ฌ ๋ ์ด์์์ ์๋์ ๊ฐ์ด ๋๋ ๋จ๋ค.
์ด์ ์ ์ ์ธ์ฆ์ด ๋๋ฉด, ๋ฉ์ธ ํ์ด์ง๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก
router์ ์ฝ๋๋ฅผ ์ถ๊ฐํ ๊ฑด๋ฐ ๊ทธ ๋ ํ์ํ ๊ฒ์ด vuex์
store์์ ์ํ ๊ด๋ฆฌ์ ํ์ํ ์ฝ๋๋ค์ ๋ชจ์๋๊ณ ์ ์ญ์ผ๋ก ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ๋ฅ

npm install vuex --save


store ํด๋ ์์ฑ ํ index.
https://v3.vuex.vuejs.org/kr/guide/
์์ํ๊ธฐ | Vuex
์์ํ๊ธฐ ๋ชจ๋ Vuex ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ฌ์๋ store ๊ฐ ์์ต๋๋ค. "์ ์ฅ์"๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ํ ๋ฅผ ๋ณด์ ํ๊ณ ์๋ ์ปจํ ์ด๋์ ๋๋ค. Vuex ์ ์ฅ์๊ฐ ์ผ๋ฐ ์ ์ญ ๊ฐ์ฒด์ ๋ ๊ฐ์ง ๋ค๋ฅธ ์ ์ด
v3.vuex.vuejs.org

main.js์์ store import ํ use๋ก ์ถ๊ฐํ๋ค.
๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋์์์
๋ก๊ทธ์ธ ๋ฒํผ์ ํด๋ฆญํ๋ฉด
1. auth๋ฅผ ํตํด ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ํ์ธํ๊ณ
2. firestore์ users์์ user.uid๋ก ๊ฒ์ํ์ฌ ํด๋น ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์จ๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ ์ ์ ์ ๋ณด๋ฅผ SET_USERS์ ์ ์ ํจ
๊ทธ๋ฌ๋ฉด ํ์ฌ ๋ก๊ทธ์ธ ์ค์ธ ์ ์ ์ ์ ๋ณด๋ฅผ ์ ์ญ์ผ๋ก ์ฌ์ฉํ ์ ์์.
ํ ์คํธํด๋ด
1. ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋ ์ onMounted()๋ก ์ธํด ์ฝ์์ null๊ฐ์ด ์ถ๋ ฅ๋๋ค.

2. ๋ก๊ทธ์ธ์ด ์ ์์ ์ผ๋ก ๋๋ฉด ์ฝ์์์ ํ์ฌ ๋ก๊ทธ์ธ ์ค์ธ ์ ์ ์ ์ ๋ณด๊ฐ ์ถ๋ ฅ๋จ์ ํ์ธํ ์ ์๋ค.

ํ์ง๋ง ์ฌ๊ธฐ์ ๋ฌธ์ ์ ์ ์๋ก๊ณ ์นจ(F5)๋ฅผ ํ ๊ฒฝ์ฐ์๋ ์ด ์ํ๊ฐ ์ด๊ธฐํ๋๋ค๋ ์ ..
๊ทธ๋์ ์๋์ ํ๋ฌ๊ทธ์ธ์ ์ถ๊ฐ์ ์ผ๋ก ์ค์นํด์ผํจ
https://www.npmjs.com/package/vuex-persistedstate
vuex-persistedstate
Persist and rehydrate your Vuex state between page reloads.. Latest version: 4.1.0, last published: 2 years ago. Start using vuex-persistedstate in your project by running `npm i vuex-persistedstate`. There are 409 other projects in the npm registry using
www.npmjs.com
npm install --save vuex-persistedstate

์ฌ์ฉ์ค๋ช ์์ ๋ฐ๋ผ store-> index.js์์ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ค.

๊ทธ๋ฆฌ๊ณ ์๋ฒ ์ข ๋ฃ ํ ๋ค์ npm run dev ๋ก ์คํ ํ
๋ก๊ทธ์ธ ํ ๋ฆฌ๋ก๋ ํด๋ดค๋ค.

์์ ๊ฐ์ด ์ํ๊ฐ ๊ทธ๋๋ก ์ ์ฅ๋์ด์๋๊ฒ์ ํ์ธํ ์ ์๋ค.