[React] Redux

Updated:

Redux

Redux란 ? 예측가능한 상태의 저장소 상태를 중앙에서 관리하는것을 통해 데이터가 예측하지 않은대로 변형될 가능성을 낮춤, 개발의 복잡성을 낮춘다.

image

react는 컴포넌트별로 만들어진 사회와 비슷,필요없는 렌더함수가 호출되어 효율이 떨어지고, 연결이 되어있어야함. react-redux는 모든 정보는 redux가 가지고 있다. store에 요청을 하여 정보를 가져올수 있다.

특징

  • (Single Source of Truth) 하나의 상태(=객체)를 갖는다. 하나의 객체안에 모든 데이터를 모아놓는다.

image1

  • store : 은행이라고 비유 , 정보가 저장되는 곳
  • state : state실제 정보가 저장됨. 절대로 state에 직접 접속하면안됨.
  • reducer : 함수를 만들어주어서 공급해줘야됨 , state를 입력값으로 받고 action을 참조해서 새로운 state값을 만들어서 리턴하는 새로운 가공자
function reducer(oldState , action) {
    //....
}
var store = Redux.createStroe(reducer);
  • getState : state값을 가져옴
function render() {
                //state값을 가져옴
var state = store.getState();
//...
document.querySelector('#app').innerHTML = <h1>WEB</h1>
}
  • subscribe : state값이 바뀔때마다 render함수를 호출하여 UI가 새롭개 갱신
store.subscribe(render);
  • render : UI를 만들어주는 역할을하는 우리가짜는 코드

  • dispatch : reducer를 호출(두개의 값을 전달 현재state , action data(객체))를 전달하여 state값을 바꿈, 작업이 끝난뒤 subscribe를 이용해 render함수를 호출

<form onSubmit="
                    //여기있는 객체가 action >> dispatch에게 전달
    store.dispatch({type:'create',payload:{title:title ,desc:desc })
">

내가생각하는 redux를 사용하는 이유 : 기존의 react구조는 부모와 자식컴포넌트들간의 연결이 되어있어야하는데 redux는 store라는 저장소로 연결되어있어서 코드의 복잡성이 낮아지고 , 중앙에서 관리하여 유지보수가 용이하게만듬

출처 :

Tags:

Categories:

Updated:

Leave a comment