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
withLDProviderandasyncWithLDProvideris thatwithLDProviderinitializeslaunchdarkly-js-client-sdkat 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.asyncWithLDProviderinitializeslaunchdarkly-js-client-sdkat 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.asyncWithLDProvideraccepts a config object which is used to initializelaunchdarkly-js-client-sdk.asyncWithLDProviderdoes not support thedeferInitializationconfig option becauseasyncWithLDProviderneeds 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: