> For the complete documentation index, see [llms.txt](https://vytautaspranskunas.gitbook.io/react-state-rxjs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://vytautaspranskunas.gitbook.io/react-state-rxjs/performance-first.md).

# Performance first

`react-state-rxjs` thinks that performance is key factor in nowadays mobile-first and desktop applications. So `react-state-rxjs` is designed to react only when data is mutating. For this reason each component implements `shouldComponentUpdate` method which default return value changed to `false`. Component updates only when:

* state is changed
* changed default value of `shouldComponentUpdate` to `true` by passing `true` to ComponentState decorator
* component has explicit `shouldComponentUpdate` implementation that causes update
