프론트엔드/React(코딩애플)

React, store에 state 보관하고 사용

Hyeon_E 2023. 3. 16. 00:33

Redux store에 state 보관하는 법 

//store.js

import { configureStore, createSlice } from '@reduxjs/toolkit'

let user = createSlice({
  name : 'user',
  initialState : 'Lee'
})

let item = createSlice({
  name : 'item',
  initialState : ['A', 'B', 'C']
})


export default configureStore({
  reducer: {
    user : user.reducer,
    item : item.reducer,
  }
})

1. createSlice( ) 로 state 만들기

createSlice( )를 상단에서 import 해온 다음에

{ name : 'state이름', initialState : 'state값' }으로 state 하나 생성

 

2. configureStore( ) 안에 등록

configureStore( )를 상단에서 import 해온 다음에

{ 작명 : createSlice만든state.reducer }로 configureStore안에 등록

 

 

Redux store에 있던 state 사용

import { useSelector } from "react-redux"

function Cart(){
  let a = useSelector((state) => { return state } )
}

컴포넌트에서 useSelector((state) => { return state } ) 쓰면 store에 있던 모든 state가 그 자리에 남음

 

let a = useSelector((state) => state.user )

원하는 state만 가져다 사용가능

-  js문법으로 return과 중괄호는 생략 가능

 

→ Redux를 이용하면 편하지만 간단한거 만들때나 컴포넌트가 몇개 없을 경우에는 props를 쓰는것이 더 코드가 짧을 수 있으니 생각하여 편한쪽으로 사용하면 됨