React shines best when the reactive pattern is applied. In our code we should try to stick to only one pattern - reactive - and avoid imperative patterns coming mostly from pre-React times (think jQuery, dojo etc). The mix of patterns would make it impossible to maintain the application, ever growing in size and complexity.
Therefore, we shall refactor components violating this rule.
We shall try to implement it on one component, see how the refactored component behaves, test it and go ahead with refactoring the rest.