I think a better word for this is isolate
instead of avoid
. State and side effects will happen in the application. The idea is to ask how do we isolate and control the state to minimize the software complexity. Separate the side effects from pure functions (stateless functional components).