Redux store์ ์ ์ฅ๋ state๊ฐ array,object ์๋ฃ์ธ ๊ฒฝ์ฐ, state ๋ณ๊ฒฝ์ ์ข ํธ๋ฆฌํ๊ฒ ํ ์ ์๋ค ๊ทธ ๋ฐฉ๋ฒ์ ์์๋ณด์ redux state๊ฐ array/object์ธ ๊ฒฝ์ฐ ๋ณ๊ฒฝํ๋ ค๋ฉด let user = createSlice({ name : 'user', initialState : {name : 'kim', age : 20}, reducers : { changeName(state){ state.name = 'park' } } ์ง์ state๋ฅผ ์์ ํด๋ ๋ณ๊ฒฝ์ด ์ ๋ฉ๋๋ค array/object ์๋ฃ์ ๊ฒฝ์ฐ state๋ณ๊ฒฝ์ state๋ฅผ ์ง์ ์์ ํด๋ฒ๋ ค๋ ์ ๋๋๊น ์ง์ ์์ ํ์ญ์์ค. ๋ง์ฝ,๋ฒํผ์ ๋๋ ์๋ ๋ณ๊ฒฝํ๋ ค๋ ์๋ฃ์ +1์ ํด์ฃผ๊ณ ์ถ์ผ๋ฉด? let user = createSlice..
์ ์ฒด ๊ธ
๐ฉ๐ป java, mysql, android, php, javascript๋ฅผ ๋ค๋ฃน๋๋ค๋ฉํ์ธ์ง ์คํฐ๋๋ ๊ฐ์ ๋ณธ์ธ์ด ์ผ์ฃผ์ผ๋์ ๊ณต๋ถํ ๋ด์ฉ์ ๊ธฐ๋กํ๊ณ , ํ๊ณ ํด๋ณด๋ ์คํฐ๋์ด๋ค. ์ผ์ฃผ์ผ๋์ ๊ตฌํํ ๊ธฐ๋ฅ๋ค ๋๋ณด๊ธฐ ๋ฒํผ์ ๋๋ฅด๋ฉด 3์ด ์๋ค๊ฐ ๋ก๋ฉ์ฐฝ์ด ๋จ๊ณ , ์ํ์ด ๋จ๋ฉด ๋ก๋ฉ์ฐฝ์ด ์ง์์ง 3์ด์ด๋ด ํ ์ธ์ฟ ํฐ ๋ฉ์ธ์ง ๋ฑ์ฅํ๋ค๊ฐ 3์ดํ์ ์ฌ๋ผ์ง Detail ํ์ด์ง์ ํ๋จ ํญ ui ๋ง๋ฆ (๋ฒํผ 0 ๋๋ฅด๋ฉด ๋ด์ฉ 0๋ธ) ๋ด์ฉ0,๋ด์ฉ1,๋ด์ฉ2 ๊ฐ ๋ฐ๋ 0.5์ด ๊ฐ๊ฒฉ์ ๋๊ณ ์์ํ ๋ฑ์ฅํจ Detail ํ์ด์ง๊ฐ ์ฒ์๋ก๋ ๋ ๋ 1์ด ๊ฐ๊ฒฉ์ ๋๊ณ ๋ฑ์ฅํจ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ ค์์ Cart ํ์ด์ง์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋ ๋๋ง ๋ณ๊ฒฝํ๊ธฐ ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋์ด +1์ฉ ์ถ๊ฐ๋จ Detail ํ์ด์ง์์ ์ฃผ๋ฌธํ๊ธฐ ๋ฒํผ์ ๋๋ฅด๋ฉด Cart์ ์ํ์ด ์ถ๊ฐ๋จ ๋ณ๊ฒฝํ๊ธฐ ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋์ด +1์ฉ ์ถ๊ฐ๋จ ํ์ผํ
์ ํ๊ธฐ ์ด๋ ค์ ๋ค (1) ๋ฐฐ์ด์ ๊ธฐ์ค์ผ๋ก, 0๋ฒ์งธ..
Redux ์ state๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๊ณ ์? ๊ทธ๋ฌ๋ฉด 3๊ฐ์ง ๋จ๊ณ๋ฅผ ๋ฐ๋ฅด์ธ์ store.js ์ state ๋ณ๊ฒฝํด์ฃผ๋ ํจ์๋ถํฐ ๋ง๋ค๊ณ ๊ทธ ํจ์๋ฅผ export ํด๋๊ณ ํ์ํ ๋ import ํด์ dispatch()๋ก ๊ฐ์ธ์ ํธ์ถํจ 1. store.js์ state ๋ณ๊ฒฝํด์ฃผ๋ ํจ์๋ถํฐ ๋ง๋ค์ด์ import { configureStore, createSlice } from '@reduxjs/toolkit' //reducer ๋ค์๋ state ๋ณ๊ฒฝํจ์๋ฅผ ๋ฃ๋๋ค let user = createSlice({ name: 'user', initialState: 'kim', reducers: { //reducers์ฆ ๋๋ค. changeName(state){ // ํ๋ผ๋ฏธํฐ state๋ ๊ธฐ์กดstate๋ฅผ ๋ปํจ return 'J..
Redux-toolkit๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ ์? props ์์ด๋ ์ปดํฌ๋ํธ๊ฐ state ๊ณต์ ๊ฐ ๊ฐ๋ฅํด์ง ,, ๋ฑ ์ปดํฌ๋ํธ๋ค์ด redux store.js ์์ state๋ค์ ๊ฐ์ ธ๋ค ์ธ ์ ์์ Redux store์ state ๋ณด๊ดํ๋ ๋ฒ ํฌ๊ฒ ๋๊ฐ์ง๋ก ๋๋ฉ๋๋ค 1. ๋จผ์ , createSlice() ๋ก state๋ฅผ ๋ง๋ค๊ณ 2. ์๋์ configureStore()์ ๋ฑ๋กํ๋ฉด ๋ฉ๋๋ค import { configureStore, createSlice } from '@reduxjs/toolkit' //์ฌ๊ธฐ์ state๋ฅผ ๋ง๋ค๊ฑฐ์ //createSlice๋ useState์ ๋น์ทํ ์ญํ ์. state ์์ฑ // state ํ๋๋ฅผ slice ๋ผ๊ณ ๋ถ๋ฆ //initialState ๋ค์๋ ์ด๊ธฐ๊ฐ state๋ฅผ ๋ฃ์ let u..
์ค์ค๋ฅต ๋์ค๋ ์ ๋๋ฉ์ด์
์ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด? ์ ๋๋ฉ์ด์
๋์์ ์คํ์ผ์ ๋ด์ className์ ๋ง๋ค๊ธฐ ์ ๋๋ฉ์ด์
๋์ํ ์คํ์ผ์ ๋ด์ className์ ๋ง๋ค๊ธฐ transition ์์ฑ๋ ์ถ๊ฐ ์ฒ์์๋ ๋ผ์๋ค๊ฐ ๋ถ์ด๊ธฐ ์ด ์์์ ๋ฐ๋ผ์ ์ ๋ฒ ๊ฒ์๋ฌผ์์ ๋ง๋ค์๋ ํญ์ ๋ด์ฉ์ด ์์ํ ๋ฑ์ฅํ๋ fade in ์ ๋๋ฉ์ด์
์ ๋ง๋ค์ด๋ณด๊ฒ์ ๋จผ์ , ์ ๋๋ฉ์ด์
๋์์ ํ ์คํ์ผ์ ๋ด์ className์ ๋ง๋ค๊ณ , transition ์์ฑ๋ ์ถ๊ฐํด๋ณผ๊ฒ์ (cssํ์ผ) .start{ opacity:0; /* ์๋ณด์ */ } .end{ opacity:1; /* ๋ณด์ */ transition: opacity 0.5s; /* ์ฒ์ฒํ ๋ณด์ */ } ๋ค์์ผ๋ก '๋ฒํผ์ ๋๋ฅผ๋๋ง๋ค end๋ฅผ ๋ถ์ฐฉํด์ฃผ์ธ์~!' useEffect๋ฅผ ์จ์ st..
๋์ ์ธ UI ๋ง๋๋ ๋ฐฉ๋ฒ 1. html, css ๋ก ๋ฏธ๋ฆฌ ๋์์ธ ์์ฑํด๋๊ณ 2. UI์ ํ์ฌ์ํ๋ฅผ ์ ์ฅํ state ํ๋ ๋ง๋ค๊ณ 3. state์ ๋ฐ๋ผ์ UI๊ฐ ์ด๋ป๊ฒ ๋ณด์ผ์ง ์์ฑํ๊ธฐ ๋จผ์ , ๋ฒํผ0 ๋ฒํผ1 ๋ฒํผ2 ๋ด์ฉ0 ๋ด์ฉ1 ๋ด์ฉ2 ๋์์ธํ๊ธฐ ๊ท์ฐฎ์์ ๋ฒํผ์ react-bootstrap ์ฌ์ดํธ์์ ๋ณต์ฌํจ ๋๋ฒ์งธ๋ก, UI์ ํ์ฌ์ํ๋ฅผ ์ ์ฅํ state๋ฅผ ๋ง๋ค๊ธฐ function Detail(){ let [tab, setTab] = useState(0) (์๋ต) } ํญ ui์ ์ํ๋ 0๋ฒ ๋ด์ฉ์ด ๋ณด์ด๊ฑฐ๋/ 1๋ฒ๋ด์ฉ์ด ๋ณด์ด๊ฑฐ๋/ 2๋ฒ๋ด์ฉ์ด ๋ณด์ด๊ฑฐ๋ ์
์คํ๋์ด๊ธฐ ๋๋ฌธ์ ๊ทธ๋๊ทธ๋๋ง๋ค setTab()์ผ๋ก state๋ฅผ ๋ณ๊ฒฝํด์ฃผ๋ฉด ๋ ๋ฏ ๋ง์ง๋ง์ผ๋ก, state์ ๋ฐ๋ผ์ ui๊ฐ ์ด๋ป๊ฒ ๋ฌ๋ผ ๋ณด์ผ์ง ์์ฑ function D..
์ต๊ทผ๋ค์ด ํ๋ก์ ํธ๋ฅผ ํ๋ค๋ณด๋ฉด ์์ํ ์ค๋ฅ๊ฐ ๋ง์ด ๋๋ค. ์์ํ๋ค๊ณ ๋ฌด์ํ๋ฉด ์๋๋๊ฒ, ์ฝ๋ ํ์ค๋ง ์ ๋ชป์จ๋ ๋ ๋๋ง์ด ์๋์ ํ๋ฉด์ด ํฐ๋ฐํ์ด ๋๋ค. ๋ด๊ฐ ์ ์ด๋ ๊ฒ ์ค๋ฅ๊ฐ ๋ง์ด ๋ ๊น? ์๊ฐํด๋ณด๋ ๋๋ ์ฐธ ๋์ ์ต๊ด์ ๊ฐ์ง๊ณ ์์๋ค. ๊ทธ๋์, ๋์ ์ต๊ด์ ๊ณ ์น๊ธฐ ์ํ ๊ฐ๋ ฅํ ํด๊ฒฐ๋ฐฉ๋ฒ์ด ํ์ํ๋ค. ๋ ์ค๋๋ถํฐ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ ์ค๋ฅ๋ฅผ ๋ง์ฃผ์น๋ฉด, ๊ทธ ์ค๋ฅ์ ์์ธ์ ํ์
ํ๊ณ , ํด๊ฒฐํ๋ ๊ทธ ๊ณผ์ ์ ๋ชจ๋ ๋ธ๋ก๊ทธ์ ์ ๊ธฐ๋ก ํ๋ค. ์ด๋ค ์ค๋ฅ๋ 1์๊ฐ, ์ด๋ค ์ค๋ฅ๋ 2์ผ์ด๋ ๊ฑธ๋ ค ํด๊ฒฐํ๊ธฐ๋ ํ์ง๋ง, ๊ฒฐ๋ก ์ ์ผ๋ก๋ ๋ฌธ์ ์์ธ์ด ๋ฌด์์ด์๊ณ , ์ด๋ป๊ฒ ํด๊ฒฐํ๋์ง๊ฐ ์ค์ํ๋ค๊ณ ์๊ฐํ๋ค. ๋ฌธ์ ๋ฅผ ์ฐจ๊ทผ์ฐจ๊ทผ ํด๊ฒฐํด๋๊ฐ๋ค๋ฉด, ์์ผ๋ก ๋ง์ฃผํ ๋ฌธ์ ์ ๊ฒฝ์ฐ์๋ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ์ค์ด๋ค ๊ฒ์ด๋ค. 1. ์์ด๋ก ๋ ์๋ฌ์ฝ๋๋ฅผ ์ฝ๊ณ , ์ง๊ด์ ์ผ๋ก ํด์ํ๋ค...
3๊ฐ์ง ๋ฌธ์ ๋ฅผ ํ์ด๋ณด์๋ค. ์์ฉ1, ๋ฒํผ 2๋ฒ ๋๋ฅด๋ฉด 7,8,9 ์ํ ๊ฐ์ ธ์์ ๋ณด์ฌ์ฃผ๋ ค๋ฉด? - count ๋ผ๋ state๋ฅผ ์ฌ์ฉํ๋ค. - axios.get ์์ฒญ ํ๋ ๋ถ๋ถ์ด ๊ธธ์ด์ getMoreShoes ๋ผ๋ ํจ์๋ฅผ ์์ ์ ์ธํ์ฌ ๊ฐ์ ธ๋ค ์ผ๋ค. ํจ์๋ฅผ ์ ์ธํ๋ ์์น๊ฐ ์ค์ํ๋ค๊ณ ๋๋๋ค. ์๋์ app ์๋์์ ์ ์ธํ์๋๋ ๊ฐ์ข
state๋ค์ด undefined ๋ก ์๋ฌ๊ฐ ๋ด๋ค. ์์ฉ2. ๋ฒํผ์ 3๋ฒ ๋๋ฅด๋ฉด ๋ ์ํ์ด ์๋ค๊ณ ์๋ด๋ฌธ์ ๋์ฐ๋ ค๋ฉด? let [count, setCount] = useState(0); ํด์ฃผ๊ณ ํด๋ฆญ์ด๋ฒคํธ ๋ฐ์์ setCount ํ๋์ฉ ์ฆ๊ฐํด์ฃผ๊ณ count๊ฐ 1์ผ๋ data2, count 2์ผ๋ data3, count 3์ผ๋ alert์ฐฝ ๋์์ค ์์ฉ3, ๋ฒํผ ๋๋ฅธ ์งํ์ ๋ก๋ฉ์ค ๊ธ์๋ฅผ ..