It completely avoids setState (doesn't call it in the background).
It fixes it in a sense that your state is updated synchronously. The state is just a plain object. If you update it, it gets updated. Renders are triggered asynchronously in a batch however to be performant.
Also setState can be troublesome when you deal with complex data structures - like arrays, collections or getters/setters. This is when this library really shines.