About a year ago Algolia released instantsearch.js and it was a huge hit in the JS community, but as Algolia started adding more functionality and customization, issues started to come up. With the additional options, pinpointing inconsistencies and bugs became more difficult and it created a harsh learning curve for users.
So, instead of just continuing to tweak and work on instantsearch.js, Algolia went back to the drawing board to figure out how to make it work for everyone, newbies and veterans alike. The result is React-instantsearch. With React, many things are the same as the previous version. Widgets are provided, and each widget handles a different part of the UI. The difference with this version is in how React-instantsearch handles customizations. It does this by giving developers full access and control over the rendering.
"React-instantsearch is made of a root component <InstantSearch> and other UI components that we call widgets. These widgets are the composition of a dumb react component with a business logic counterpart called connectors," explains Algolia. These connectors help keep things separate and provides a dual API. It shows only a minimal amount of the API necessary, so those new to the system aren't overwhelmed.
As stated in an Algolia blog post about React, "The end result is that beginner users are not left wondering what kind of experience they should implement, while experienced developers can adapt their search experience accordingly. Developers looking for a quick & powerful solution will find exactly that with react-instantsearch – the deeper they dive, the more they will uncover its flexible underbelly by overriding the defaults we provide."