Front-End

vsoghlv@naver.com

React.js 리덕스의 3가지 규칙

리덕스를 사용할 때 꼭 지켜야할 규칙들이 있다.

하나의 애플리케이션 안에는 하나의 스토어만 있어야 한다.

하나의 애플리케이션에는 단 한개의 스토어를 만들어 사용한다.

특정 업데이트가 빈번하게 일어나거나, 특정 부분을 완전히 분리시키게 될 때 여러개의 스토어를 만들 수도 있지만 개발도구를 활용하지 못하게 된다.

상태는 읽기 전용이다.

리액트에서는 무언가를 업데이트 해야 할 때, useState, concat, map, spread 등을 사용해 불변성을 지켜준다.

리덕스에서 불변성을 지켜주는 이유는 상태의 좋은 성능을 위해서인데 불변성을 지켜주어야만 컴포넌트들이 제대로 리랜더링 된다.

리듀서는 순수한 함수여야 한다.

리듀서 함수는 이전 상태 (state) 와 액션 객체를 파라미터로 받는데, 이때 이전의 상태는 절대 변경하지 않고 변화를 일으킨 새로운 상태 객체를 만들어 반환해야한다.

리듀서에서는 new Date(), Math.random(), axios.get() 과 같은 함수, 또는 리듀서 밖의 변수를 사용해서안된다.

즉, 불변성을 유지해줘야 한다는 것이다. 똑같은 파라미터로 호출된 리듀서 함수는 항상 똑같은 결과값을 반환해야 한다.