algolia / instantsearch

⚡️ Libraries for building performant and instant search and recommend experiences with Algolia. Compatible with JavaScript, TypeScript, React and Vue.
https://www.algolia.com/doc/guides/building-search-ui/what-is-instantsearch/js/
MIT License
3.68k stars 514 forks source link

poc: fully managed InstantSearch with MutationObserver #6262

Open aymeric-giraudet opened 3 months ago

aymeric-giraudet commented 3 months ago

If we choose to bundle a special version of InstantSearch which would just read a static configuration and instantiate itself, this would be one way to specify where blocks should render.

This solution uses a MutationObserver to check for elements with specific IDs, in the case of this PoC we do it with a single one to simplify code, but there would need to be much more logic to handle multiple ones as we would need to keep track of which have been rendered or when they unmount so they can be rendered again later.

This is an API that is closer to what we currently do with InstantSearch.js