Side Effect가 있는 함수는 동작결과를 예측하기 쉽지 않기 때문
-> 유지보수의 어려움 야기
프론트엔드가 백엔드 api 를 통해 필요한 데이터를 가져오는 필수적인 행위
외부로부터 데이터를 가져오는 것이기에 Side Effect
리액트에서는 DOM조작을 따로 하지 않지만,
특정 상황에서 직접 DOM을 조작해야 하는 일이 있다
이는 곧 외부의 값을 읽어오고 변경하는 것이기에 Side Effect
어떤 것을 계속해서 관찰하다가 변화가 발생하면 특정한 액션을 취하는 것
특정한 시간이 지났을 때 액션을 취하거나, 특정한 시간 주기마다 액션을 취하는 등
시간을 구독 (setTimeout, setInterval 등)
외부의 값의 변화를 계속해서 관찰하고 거기에 맞춰서 동작을 하는 것이기에 Side Effect
FE개발자들은 Side Effect를 적재적소에 사용할 줄 알아야 한다. Side Effect를 최소화 하면서 프로그램을 설계하고, 예측과 통제를 가능하게 만들어서 유지보수에 악영향을 주지 않게끔 프로그래밍 할 것