Posts
Q&A
useSelector ์ง๋ฌธ
const rootReducer = combineReducers({ index: (state = {}, action) => { switch (action.type) { case HYDRATE: console.log('HYDRATE', action); return { ...state, ...action.payload }; default: return state; } }, user, post, }); ์ ๋ถ๋ถ ์ฝ๋๋ฅผ ๋ง์๋๋ ธ๋ ๊ฒ์ ๋๋ค. useSelector์์ ํด๋น reducer๋ฅผ ํตํด state๋ฅผ ์ธ์ํ๋ ๊ฒ์ธ๊ฐ ์ถ์ด์์ useState์ ๊ฒฝ์ฐ ๊ฒฐ๊ตญ ์ ๊ทผ์ ํ๋ ค๋ฉด ํด๋น state ํน์ setState ํจ์๋ฅผ ๋ฐ์์ค์ง ์์ต๋๊น? ๊ทผ๋ฐ redux์์๋ ๋จ์ํ useSelector((state) => state.user) ์์ผ๋ก ๋์๋๋ฐ state ๋งค๊ฐ๋ณ์์๋ ๋ฌด์์ ๋ฃ์ด์ฃผ๋ ๊ฒ์ด๋ฉฐ ๊ทธ redux state๋ ์ด๋ป๊ฒ ๋ฑ๋ก์ด ๋ ๊ฒ์ธ์ง ์ถ์ด์์. initialState์ ๊ฒฝ์ฐ์๋ ๊ฐ์ฒด๋ฅผ ์ ์ฅํด๋ ๊ฒ์ด์ง createContext์ฒ๋ผ ๋ฃ์ด์ค ๊ฒ์ด ์๋๋ฐ ์ด๋ ํ ๊ณผ์ ์ ํตํด์ redux state๊ฐ ๋ฑ๋ก๋์ด์ง๋์ง๊ฐ ํท๊ฐ๋ฆฐ ๊ฒ ๊ฐ์ต๋๋ค. ์ง๋ฌธ์ด ๋ถ๋ถ๋ช ํ์ฌ ๋ฒ๊ฑฐ๋กญ๊ฒํด๋๋ ค ์ฃ์กํฉ๋๋ค.
- 0
- 2
- 368
Q&A
import React๋ฅผ ํ์ง์์ ์ํ์์ eslint๋ฅผ ์ ์ฉํ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
.eslintrc ํ์ผ ์์ฑํ์ ํ "rules": { // suppress errors for missing 'import React' in files "react/react-in-jsx-scope": "off", // allow jsx syntax in js files (for next.js project) "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }], //should add ".ts" if typescript project} }
- 0
- 1
- 1.1K
Q&A
className ์๋ฌ
์๋ ์ง๋ฌธ๊ธ์ ๋ณด๊ณ ์ธ๋ผ์ธ ์คํ์ผ ์์ฑ์ผ๋ก ๋ฃ์ด์ฃผ๋ ์๋ฌ๊ฐ ์ฌ๋ผ์ง๊ธด ํ๋ค์. styled component๋ก ์ ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ์๋์?
- 1
- 1
- 306