I had the same problem until I saw the light. The problem wasn&#x27;t React: it was me.<p>You shouldn&#x27;t merely learn React, but also unidirectional-flow architectures (like Flux, but there are many others, including better ones IMHO). Bidirectional data flow is a pain in the ass and once you understand unidirectional data flow, everything fits much easier. Of course, trying to shoehorn a bidirectional data flow in React is going to cause a lot of pain.<p>If you still need a bidirectional data flow, messing with lifecycle callbacks is definitely not the way to go. It seems to me you didn&#x27;t have problems <i>with</i> React. You had problems <i>learning</i> React.