React | Side Effect

앙두·2022년 12월 26일
0

React

목록 보기
3/20

프로그래밍에서 Side Effect 란 ?

함수에서 함수 외부의 값을 읽어오거나, 변경하거나, 수정하거나 하는 행위


Side Effect 를 기피해야 하는 이유 ?

Side Effect가 있는 함수는 동작결과를 예측하기 쉽지 않기 때문
-> 유지보수의 어려움 야기

Side Effect를 발생시켜야 하는 경우 ?

Data Fetching

프론트엔드가 백엔드 api 를 통해 필요한 데이터를 가져오는 필수적인 행위
외부로부터 데이터를 가져오는 것이기에 Side Effect

DOM에 접근 및 조작

리액트에서는 DOM조작을 따로 하지 않지만,
특정 상황에서 직접 DOM을 조작해야 하는 일이 있다
이는 곧 외부의 값을 읽어오고 변경하는 것이기에 Side Effect

구독

어떤 것을 계속해서 관찰하다가 변화가 발생하면 특정한 액션을 취하는 것
특정한 시간이 지났을 때 액션을 취하거나, 특정한 시간 주기마다 액션을 취하는 등
시간을 구독 (setTimeout, setInterval 등)
외부의 값의 변화를 계속해서 관찰하고 거기에 맞춰서 동작을 하는 것이기에 Side Effect

결론

FE개발자들은 Side Effect를 적재적소에 사용할 줄 알아야 한다. Side Effect를 최소화 하면서 프로그램을 설계하고, 예측과 통제를 가능하게 만들어서 유지보수에 악영향을 주지 않게끔 프로그래밍 할 것

profile
쓸모있는 기술자

0개의 댓글