더북(TheBook)

12.3.3 변화는 순수 함수로 구성

 

모든 변화는 순수 함수로 구성해야 합니다. 여기에서 함수란 바로 리듀서 함수를 가리킵니다. 순수 함수에서 결과 값을 출력할 때는 파라미터 값에만 의존해야 하며, 같은 파라미터는 언제나 같은 결과를 출력해야 합니다.

예를 들어 리듀서 함수 내부에서 외부 네트워크와 데이터베이스에 직접 접근하면 안 됩니다. 요청이 실패할 수도 있고, 외부 서버의 반환 값이 변할 수 있기 때문이죠.

리듀서 함수 내부에서는 현재 날짜를 반환하는 new Date() 함수나 Math.random() 함수 등도 사용하면 안 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.