갈푸라떼
갈푸라떼는 개발중
갈푸라떼
전체 방문자
오늘
어제
  • 분류 전체보기 (232)
    • CS (0)
      • CSinfo (0)
    • Frontend (15)
      • HTML,CSS (1)
      • Javascript (2)
      • React (0)
      • React Hook (12)
    • Backend (0)
      • Python (0)
      • Node.js (0)
      • php (0)
    • DB (2)
      • MySQL (2)
      • BigQuery (0)
      • Mongodb (0)
    • Study (186)
      • JavaScript (72)
      • JavaScript(Clean code) (50)
      • Node.js (11)
      • HTML,CSS (13)
      • React (30)
      • TypeScript (10)
      • React-Native (0)
    • Error (2)
      • error (2)
    • Git (22)
      • Git (22)
    • Help Coding (4)
      • Useful websites (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • Github

공지사항

인기 글

태그

  • nodemon
  • 원시타입
  • 인터프리터
  • 자바스크립트엔진
  • 심볼
  • prototype
  • 싱글스레드
  • class
  • 네이밍
  • this
  • 이터러블
  • Arrow
  • Babel
  • 스코프 체인
  • 실행 컨텍스트
  • SPREAD
  • 렉시컬 환경
  • function
  • 호이스팅
  • symbol
  • 객체타입
  • structure
  • 컴파일러
  • 정적 레벨
  • 함수
  • 오버라이딩
  • PM2
  • 프로토타입
  • 상속
  • ECMAScript

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
갈푸라떼

갈푸라떼는 개발중

Study/React

[React_study] Redux store의 state 변경

2022. 6. 12. 18:17

* Redux의 state를 변경하는 단계

  1. store.js에 state변경해주는 함수를 만든다.
  2. export 해준다.
  3. 필요할 때 import해주고 dispatch()를 이용해 사용한다.

* store의 state 변경하는 법 

1. store.js안에 state수정해주는 함수 만들기

  • slice안에 reducers안에 함수를 만들면된다. (함수 작명은 마음대로 해도 된다.)
  • 첫번째 파라미터안에 기존의 state가 담겨져 있다. (parameter name은 state로 사용한다.)
  • return 우측에 새로운 state 입력하면 그 값으로 기존 state를 변경해준다.
let user = createSlice({
  name : 'user',
  initialState : 'kim',
  reducers : {
    changeName(state){
      return 'john ' + state
    }
  }
})

 

 

2. 다른 곳에서도 유용하게 사용할 수 있게 export 해준다.

  • slice이름.actions 라고 적으면 state 변경함수가 전부 그 자리에 출력 
  • [참고] object Destructuring를 이용하여서 사용하기 좋게 만들어 준다.
export let { changeName } = user.actions 

 

3. 원하는 곳에서 import 해서 사용한다. 사용하려면 dispatch() 로 감싸서 사용해야한다.

  • store.js에서 원하는 state변경함수 가져온다.
  • useDispatch라는 라이브러리도 가져온다.
  • dispatch(state변경함수()) 이런식으로 실행하여 state를 변경해준다.
import { useDispatch, useSelector } from "react-redux"
import { changeName } from "./../store.js"

const dispatch = useDispatch()
(생략) 

<button onClick={()=>{
  dispatch(changeName())
}}>Button</button>

 

'Study > React' 카테고리의 다른 글

[React_study] reset css 하는 방법 + npm으로 설치  (0) 2022.06.18
[React_study] Redux state가 object/array일 경우 변경 방법  (0) 2022.06.15
[React_study] Redux store에 state 보관 & 호출  (0) 2022.06.12
[React_study] Redux & Redux Toolkit 셋팅 및 사용  (0) 2022.06.12
[React_study] Context API  (0) 2022.06.12
    'Study/React' 카테고리의 다른 글
    • [React_study] reset css 하는 방법 + npm으로 설치
    • [React_study] Redux state가 object/array일 경우 변경 방법
    • [React_study] Redux store에 state 보관 & 호출
    • [React_study] Redux & Redux Toolkit 셋팅 및 사용
    갈푸라떼
    갈푸라떼

    티스토리툴바