javascript 使用react中的函数实现Launchdarkly,而不使用Component中的 Package

qfe3c7zg  于 2023-05-16  发布在  Java
关注(0)|答案(1)|浏览(123)

目前,我遵循launchdarkly提供的指南和我使用的文档:

import { asyncWithLDProvider } from 'launchdarkly-react-client-sdk';
(async () => {
  const LDProvider = await asyncWithLDProvider({
    clientSideID: '',
    context: {
      "kind": "user",
      "key": "",
      "name": "",
      "email": "abc@example.com"
    },
  });
  render(
    <LDProvider>
      <ControllerPage />
    </LDProvider>,
    document.getElementById('reactDiv'),
  );
})();

这在某种程度上造成了问题,因为它不能正常工作。
这也不是我的要求,即使它工作,我不想 Package 我的阅读代码与LDProvider。所以我问有没有解决这个问题的方法,我可以使用Laundarkly实现使用函数,而不用用LDProvider Package 我的代码。

wko9yo5t

wko9yo5t1#

这可以很容易地做到:

NPM包:

npm install launchdarkly-js-client-sdk

验证码:

import * as LDClient from 'launchdarkly-js-client-sdk';

const randomString = Math.random().toString(36).slice(2)
const newUser = {
    "kind": "user",
    "key": `guest-user-${randomString}`,
    "name": `guest-user-${randomString}`,
    "email": `guest-user-${randomString}@email.com`
}
const ldclient = await LDClient.initialize('LAUNCHDARKLY_ID', newUser);
ldclient.on("ready", () => {
    const flagData = ldclient.allFlags();
    const flagResponse = flagData['feature_name']
    if (flagResponse != undefined && flagResponse) {
        //  Do this
    }else{
        // Do this
    }

相关问题