Dynamic Widgets
Dynamic widgets are widgets that are added or removed from the UI based on query rules actions. They are useful when you want to display a widget only when a certain query or filter has been applied.
With the DynamicWidgets widget, you can order and conditionally display facets based on query rules. For example, you can display a facet based on a set of conditions.
For example, brand and categories are two facets being displayed.
<InstantSearch indexName="products" searchClient={searchClient}>
  <DynamicWidgets>
    <RefinementList attribute="brand" />
    <RefinementList attribute="categories" />
  </DynamicWidgets>
</InstantSearch>with query rule configuration
{
  "search_settings": {
    "query_rules": [
      {
        "objectID": "1",
        "conditions": [],
        "actions": [
          {
            "action": "RenderFacetsOrder",
            "facetAttributesOrder": ["brand"] // only display brand facet by default
          }
        ]
      }
      {
        "id": "2",
        "conditions": [
          [
            {
              "context": "query",
              "match_type": "prefix",
              "value": "star"
            }
          ]
        ],
        "actions": [
          {
            "action": "RenderFacetsOrder",
            "facetAttributesOrder": ["categories"] // only display categories facet when query starts with "star"
          }
        ]
      }
    ]
  }
}
 for more information about query rules, see the Query Rules guide.