React or Vue: Which Javascript UI Library Should You Be Using?
Anthony Gore
86452

I got the following response from Dan Abramov which I thought I’d reprint below for the benefit of readers:

Diff’ing the current and previous state is how React knows when and what to re-render in the DOM, hence the need for immutable state.

Technical nit: this is not true

React doesn’t diff state in any way

Whenever you call setState it’s going to recalculate render result regardless of what you changed

So technically you can mutate anything as long as you call setState

But this gets problematic in larger apps when you want to add performance optimizations in certain components. Because now *you* can’t compare what changed and what didn’t. Also makes features like optimistic mutations harder.

Also you can use React with something like Mobx which also includes “magic” so you can freely mutate things. So if you prefer Vue-like style you can go with that.