Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 리액트
- 스프링부트
- 자바스크립트
- VUE
- security
- 큐넷
- It
- 백엔드
- Front-End
- 백엔드개발자
- 웹개발자
- spring
- 정보처리기사 실기
- JavaScript
- 정보처리기사
- JWT
- 타입스크립트
- spring boot
- Node.js
- frontend
- React
- 수제비
- JS
- TS
- 프론트엔드
- useState
- spring boot security
- Authentication
- TypeScript
- Redux
Archives
- Today
- Total
솔적솔적
REACT- Redux 3 : store의 state 변경하는 방법을 알아보자 본문
Front-end/REACT - Redux 사용해보기(props는 저리가봐!)
REACT- Redux 3 : store의 state 변경하는 방법을 알아보자
솔솔봄향기 2022. 9. 8. 11:22Redux에서 state를 변경하는 방법을 알아보자.
제일 먼저 state 수정해주는 함수를 만들고 함수를 실행해달라고 store.js에 요청해야한다.
1. state 수정하는 함수만들기 : reducers등장
const user = createSlice({
name : 'user',
initialState : 'kim',
reducers : {
changeName(state){ //--> 위의 state를 수정하는 함수를 요기다가 만드는 것
return 'sol' + state
}
}
})
2. 함수 만든 것을 사용할 수 있게 export해줘야함
const user = createSlice({
name : 'user',
initialState : 'kim',
reducers : {
changeName(state){ //--> 위의 state를 수정하는 함수를 요기다가 만드는 것
return 'sol' + state
}
}
})
export const {changeName, export하고 싶은 함수 다 담기} = user.actions
3. 함수를 필요한 곳에갖다 사용할 수 있도록 import하기
Cart.js
import {changeName} from "./../store.js"
function Cart(){
const state = useSelector((state)=> state)
const dispatch = useDispatch(); //store한테 요청을 보내주는 함수임
return (
<div>
<button onClick={()=>{}}>+</button>
<Table>
-- 밑 코드 생략 --
dispatch(state변경함수()) 사용
<button onClick={()=>{dispatch(changeName())}}>+</button>
이렇게 하다 문뜩 드는 생각은
아.. Redux 복잡하다. 수정하기 위해서는 store.js에 있는 것을 export하고 import한 후 꼭 dispatch()로 감싸지 않으면 오류가나고..
직접 수정을 하면 편리하지만 프로젝트가 커질 수 있는 상황에서는 Redux를 사용하여 수정을 하는 것이 좋다.
컴포넌트가 너무 많아서 직접 'kim'이라는 state를 변경하려다가 버그가 발생하면 그 많은 컴포넌트를 하나씩 다 찾아서 봐야하기 때문이다.
근데 Redux로 수정을 할 경우에는 store.js에 미리 만들어둔 뒤 컴포넌트가 실행해달라는 것만 가져와 코드를 짜면
버그발생 시 어떤 문제였나 찾기가 편합니다. 원인이 어딨는지 바로 알아낼테니까요.(Store.js 요놈요놈)
'Front-end > REACT - Redux 사용해보기(props는 저리가봐!)' 카테고리의 다른 글
REACT- Redux4. state object, array일 경우 변경하는 방법을 알아보자. (0) | 2022.09.08 |
---|---|
REACT- Redux2. Store에 state 보관하여 사용해보자. (0) | 2022.09.07 |
REACT- Redux1. redux설치와 props대신 Redux를 사용하는 이유 (0) | 2022.09.07 |