[리액트]nodebird 섹션2. - 리덕스의 원리와 불변성

임하나·2023년 4월 30일
0

[리액트]nodebird

목록 보기
13/13

리덕스에서는 데이터를 바꾸려면 액션을 만들어주어야한다.

{
	name:'zerocho',
    age:27,
    password:'babo'
}

위에 같은 데이터를 변경하려면,

{
	type:'CHANGE_NICKNAME',
    data : 'boogicho'
}

type이 액션의 이름이다.

액션을 dispatch하는 순간 데이터가 바뀌게된다
data -> zerocho로 변함.
dispatch 한다고해서, 값이 바로 바뀌는게 아니라,
값이 어떻게 변할지 명시해주어야한다.(reducer - 직접구현)

switch(action.type){
  case 'CHANGE_NICKNAME' :
    return{
    	...state,
      	name:action.data,
    }
}

위에 값이 switch문법으로 case별로 값을 변경해주면된다.

단점

  • 데이터를 바꿀때마다, action을 해줘야됨으로, 코드양이 많아진다.

장점

  • 수정했던 부분들이 나열됨으로, 에러를 찾아내기 쉽다.

자바스크립트의 불변성

{} === {} //false
const a = {};
const b = a;
a === b //true

0개의 댓글