Problem: The data source gets called twice. Builder pre-renders content server-side first before re-hydrating the page in the browser. Since the random user API returns a new set of users on each fetch there is a brief flash of the users fetched from the initial server side call.

Solution: Delay the rendering to the browser by adding a `showIf: state.ready` binding to the content so that only the fetch which is called client-side gets rendered. Alternatively, instead of adding the data source in the Content API data section of the Data tab, perform the fetch in your custom JS and wrap it with `isBrowser`. Then it will only be fetched once when the browser is ready.

Binds showIf to state.ready

Not bound to state.ready. Gets called on Builder servers first, then gets rehydrated client-side.

Hakyemez
Johansen
Bayrak

fetched only in custom JS client side