redux
-
- [React.js] ๊ฐ์ฒด ํ๊ธฐ๋ฒ(Object Notation) ๋ฐฉ์๊ณผ ๋น๋ ์ฝ๋ฐฑ ํ๊ธฐ๋ฒ(Builder Callback Notation) ๋ฐฉ์
๊ฐ์ฒด ํ๊ธฐ๋ฒ(Object Notation) ๋ฐฉ์๊ณผ ๋น๋ ์ฝ๋ฐฑ ํ๊ธฐ๋ฒ(Builder Callback Notation) ๋ฐฉ์๋ค์ด๊ฐ๋ฉฐ๋ฆฌ๋์ค ํดํท(Redux Toolkit, RTK)์ ๊ฐ์ฒด ํ๊ธฐ๋ฒ(Object Notation) ๋ฐฉ์๊ณผ ๋น๋ ์ฝ๋ฐฑ ํ๊ธฐ๋ฒ(Builder Callback Notation) ๋ฐฉ์์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. ๊ฐ์ฒด ํ๊ธฐ๋ฒ(Object Notation) ๋ฐฉ์ vs. ๋น๋ ์ฝ๋ฐฑ ํ๊ธฐ๋ฒ(Builder Callback Notation) ๋ฐฉ์RTK ๋ฒ์ 1.6.0 ์ด์๋ถํฐ ๊ธฐ์กด์ ๊ฐ์ฒด ํ๊ธฐ๋ฒ(Object Notation) ๋ฐฉ์์์ ๋น๋ ์ฝ๋ฐฑ ํ๊ธฐ๋ฒ(Bulder Callback Notation) ๋ฐฉ์์ผ๋ก ์์ฑํด์ผ ํ๋ค.๊ธฐ์กด์ ๊ฐ์ฒด ํ๊ธฐ๋ฒ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋๋ค. ๊ฐ์ฒด ํ๊ธฐ๋ฒ(Object Notation)..
2024.11.13 -
- [React.js] ๋ฆฌ๋์ค(Redux), ๋ฆฌ๋์ค ํดํท(Redux Toolkit)
๋ฆฌ๋์ค(Redux), ๋ฆฌ๋์ค ํดํท(Redux Toolkit)๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ(React.js)์ ์ ์ญ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์ ํ๋์ธ ๋ฆฌ๋์ค(Redux)์ ๋ฆฌ๋์ค ํดํท(Redux Toolkit)์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. ๋ฆฌ๋์ค(Redux)๊ฐ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ํ ๊ด๋ฆฌ๋ฅผ ์ํด ์ฌ์ฉ๋๋ ์ํ ์ปจํ ์ด๋์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ์ค์์์ ๊ด๋ฆฌํจ์ผ๋ก์จ ์ํ ๋ณํ๋ฅผ ์ฝ๊ฒ ์ถ์ ํ๊ณ , ๋๋ฒ๊น ์ ๋จ์ํํ๋ฉฐ, ๋ค์ํ ์ปดํฌ๋ํธ ๊ฐ์ ์ํ๋ฅผ ๊ณต์ ํ๋ ๊ฒ์ ์ฝ๊ฒ ํด์ค๋ค.๋ฆฌ๋์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์๋์ ๋ช ๋ น์ ์คํํ์ฌ ๊ด๋ จ ํจํค์ง๋ฅผ ์ค์นํด์ค๋ค.$ yarn add redux # npm install redux$ yarn add react-redux # npm install react-redux ๋ฆฌ๋์ค..
2024.11.11 -
- [React.js] caseReducers ์์ฑ (Redux Toolkit)
caseReducers (Redux Toolkit) ์์ฑ๋ค์ด๊ฐ๋ฉฐ๋ฆฌ๋์ค ํดํท(Redux Toolkit)์ @caseReducers@ ์์ฑ์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค.์ด ์์ฑ์ ์ด์ฉํ๋ฉด ์ฌ๋ผ์ด์ค ๋ด์ ๊ฐ๋ณ ๋ฆฌ๋์ ํจ์์ ์ง์ ์ ๊ทผํ๊ณ ํธ์ถํ ์ ์๋ค. createSlice() ํจ์์ caseReducers ์์ฑcreateSlice() ํจ์์ฌ๋ผ์ด์ค(Slice)๋ฅผ ์ ์ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.์ฌ๋ผ์ด์ค๋ ํน์ ์ํ(State)์ ๊ทธ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฆฌ๋์(Reducer)๋ค์ ํ ๊ณณ์ ๋ชจ์๋์ ๊ฒ์ด๋ค.์ฌ๋ผ์ด์ค๋ ์๋์ผ๋ก ์ก์ ์์ฑ์(Action Creators)์ ์ก์ ํ์ (Action Types)์ ์์ฑํด์ค๋ค.reducers ์ต์ @createSlice@ ํจ์์ @reducers@ ์ต์ ์ ์ฌ๋ผ์ด์ค์ ์ํ๋ฅผ ๋ณ๊ฒฝํ๋ ์ฌ๋ฌ ๊ฐ์ ๋ฆฌ..
2024.10.03 -
- [React.js] Thunk API (Redux Toolkit)
Thunk API (Redux Toolkit)๋ค์ด๊ฐ๋ฉฐ๋ฆฌ๋์ค ํดํท(Redux Toolkit)์ Thunk API์ ๋ํด ์ ๋ฆฌํด๋ณธ๋ค. Thunk API๊ฐ๋ ๋น๋๊ธฐ ์์ ์ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ ๋๊ตฌ๋ก, ์ฌ๋ฌ๊ฐ์ง ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.์ฃผ๋ก API ํธ์ถ๊ณผ ๊ฐ์ ๋น๋๊ธฐ ์์ ์ ์ฒ๋ฆฌํ ๋ ์ฌ์ฉ๋๋ฉฐ, ์ก์ (Action)์ ๋์คํจ์น(Dispatch)ํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค. ๊ตฌ์ฑ๊ธฐ๋ณธ์ ์ผ๋ก 2๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ๊ณตํ๋ค.@dispatch@์ก์ ์ ๋์คํจ์นํ ์ ์๋ ํจ์๋น๋๊ธฐ ์์ ์ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ค๋ฅธ ์ก์ ์ ๋ณด๋ผ ์ ์๋ค. @getState@ํ์ฌ ์คํ ์ด์ ์ํ(State)๋ฅผ ๊ฐ์ ธ์ค๋ ํจ์์ํ์ ๋ฐ๋ผ ๋ก์ง์ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค. ์ฌ์ฉ ๋ฐฉ๋ฒ@createAsyncThunk@๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋๊ธฐ ์ก์ ํฌ๋ฆฌ์์ดํฐ๋ฅผ ์์ฑ..
1 2024.09.28 -
- [React.js] ๋ก์ปฌ ์คํ ๋ฆฌ์ง(LocalStorage)์ ๋ด์ฉ์ ์ ์ฅํ๊ณ , ์ ์ญ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Redux)์ ๋๊ธฐํ ํ๋ ๋ฐฉ๋ฒ
๋ก์ปฌ ์คํ ๋ฆฌ์ง(LocalStorage)์ ๋ด์ฉ์ ์ ์ฅํ๊ณ , ์ ์ญ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Redux)์ ๋๊ธฐํ ํ๋ ๋ฐฉ๋ฒ๋ค์ด๊ฐ๋ฉฐ๋ฆฌ์กํธ(React.js)์์ ํน์ ๋ณ์๋ฅผ ๋ก์ปฌ ์คํ ๋ฆฌ์ง(Local Storage)์ ์ ์ฅํ๊ณ , ์ ์ญ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ(Redux)์ ๋๊ธฐํ ์ํค๋ ๋ฐฉ๋ฒ์ ์ ๋ฆฌํด๋ณธ๋ค.์ด๋ ๊ฒ ํจ์ผ๋ก์จ, ์ฌ์ฉ์์ ์ ๋ ฅ์ ๋ฐ์ ํน์ ๋ณ์๋ฅผ ํ๋ฉด์ ํ์ํด์ค์ผ ํ ๊ฒฝ์ฐ ์๋ก๊ณ ์นจ์ ํด๋ ๋์ผํ ๋ด์ฉ์ด ํ์๋๊ฒ ํ ์ ์๋ค. ๋ก์ปฌ ์คํ ๋ฆฌ์ง(Local Storage)๊ฐ๋ ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ์๊ตฌ์ ์ผ๋ก ์ ์ฅํ ์ ์๋ ๋ฐฉ๋ฒ๋ธ๋ผ์ฐ์ ๊ฐ ๋ซํ๋ ๋ฐ์ดํฐ๊ฐ ์ ์ง๋๋ฉฐ, ๋๋ฉ์ธ๋ณ๋ก ๊ตฌ๋ถ๋์ด ์ ์ฅ๋๋ค.๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ ํค-๊ฐ(Key-Value) ํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ฉฐ, ๋ฐ์ดํฐ๋ ๋ฌธ์์ด ํ์์ผ๋ก๋ง ์ ์ฅํ ์ ์๋ค.๋ฐ๋ผ์ ๊ฐ์ฒด(O..
1 2024.09.07 -
- [React.js] ๋ฆฌ์กํธ์์์ ์ํ ๊ด๋ฆฌ ๋ฐฉ๋ฒ
๋ฆฌ์กํธ์์์ ์ํ ๊ด๋ฆฌ ๋ฐฉ๋ฒ๋ฆฌ์กํธ(React)์์ ์ํ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด์.๋ฆฌ์กํธ์์๋ ์ํ ๊ด๋ฆฌ๋ฅผ ์ํด ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ํฉ์ ๋ฐ๋ผ ์ ์ ํ ๋ฐฉ๋ฒ์ ์ ํํ๋ ๊ฒ์ด ์ค์ํ๋ค. ์ํ ๊ด๋ฆฌ ๋ฐฉ๋ฒ1. ์ง์ญ ์ํ(Local State)๋ฆฌ์กํธ์ useState ํ ์ ์ฌ์ฉํ์ฌ ์ปดํฌ๋ํธ ๋ด๋ถ์์ ์ํ๋ฅผ ๊ด๋ฆฌํ ์ ์๋ค.์์ ๊ท๋ชจ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ๋จ์ผ ์ปดํฌ๋ํธ์์ ์ํ ๊ด๋ฆฌ๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ ํฉํ๋ค.import React, { useState } from 'react';function Counter() { const [count, setCount] = useState(0); return ( You clicked {count} times setCount(count..
2024.06.30