This is an async function which initializes LaunchDarkly's JS SDK (launchdarkly-js-client-sdk)
and awaits it so all flags and the ldClient are ready before the consumer app is rendered.
The difference between withLDProvider and asyncWithLDProvider is that withLDProvider initializes
launchdarkly-js-client-sdk at componentDidMount. This means your flags and the ldClient are only available after
your app has mounted. This can result in a flicker due to flag changes at startup time.
asyncWithLDProvider initializes launchdarkly-js-client-sdk at the entry point of your app prior to render.
This means that your flags and the ldClient are ready at the beginning of your app. This ensures your app does not
flicker due to flag changes at startup time.
asyncWithLDProvider accepts a config object which is used to initialize launchdarkly-js-client-sdk.
asyncWithLDProvider does not support the deferInitialization config option because asyncWithLDProvider needs
to be initialized at the entry point prior to render to ensure your flags and the ldClient are ready at the beginning
of your app.
It returns a provider which is a React FunctionComponent which:
saves all flags and the ldClient instance in the context API
subscribes to flag changes and propagate them through the context API
This is an async function which initializes LaunchDarkly's JS SDK (
launchdarkly-js-client-sdk
) and awaits it so all flags and the ldClient are ready before the consumer app is rendered.The difference between
withLDProvider
andasyncWithLDProvider
is thatwithLDProvider
initializeslaunchdarkly-js-client-sdk
at componentDidMount. This means your flags and the ldClient are only available after your app has mounted. This can result in a flicker due to flag changes at startup time.asyncWithLDProvider
initializeslaunchdarkly-js-client-sdk
at the entry point of your app prior to render. This means that your flags and the ldClient are ready at the beginning of your app. This ensures your app does not flicker due to flag changes at startup time.asyncWithLDProvider
accepts a config object which is used to initializelaunchdarkly-js-client-sdk
.asyncWithLDProvider
does not support thedeferInitialization
config option becauseasyncWithLDProvider
needs to be initialized at the entry point prior to render to ensure your flags and the ldClient are ready at the beginning of your app.It returns a provider which is a React FunctionComponent which: