如何在我的反应应用程序中以编程方式设置 Launch Darkly 的用户详细信息

B.L*_*key 7 reactjs launchdarkly

我将 App.js 文件包装在 withLDProvider 组件中,我想知道如何从 App 函数内部设置用户信息。

比方说,例如,我获取了在应用程序功能内的 Dexie 中缓存的用户名,如何将该用户信息传递到导出应用程序功能时设置用户详细信息的位置。

我已经可以获得所有用户信息,只是不确定应该如何传递用户信息。我觉得我在这里采取了错误的方法,但不太确定具体如何去做。

import React from 'react';
import './App.css';
import { withLDProvider } from 'launchdarkly-react-client-sdk';
import HelloWorld from './HelloWorld';

const App = () => {
  const [user, setUser] = useState({});

  // Let's say for example that I asynchronously get my
  // user information here and use hooks to set the user

  return (
    <div className="App">
      <header className="App-header">
        {
           user ? <HelloWorld  />
           : <div>A login screen would go here</div>
        }
      </header>
    </div>
  );
}

export default withLDProvider({
  clientSideID: 'client_id',
  user: {
    key: 'user_key',
    name: 'User Name',
    email: 'User@email.com'
  }
})(App);
Run Code Online (Sandbox Code Playgroud)

B.L*_*key 4

对任何更好的想法持开放态度,但这似乎目前有效

看来我错过了文档中的答案。

我最终做的是在没有用户的情况下初始化 LD,然后使用 recognize() 函数将用户设置为层次结构中的下一级。它可以从传递给任何子组件的 ldclient 属性中获取。

ldclient.identify(newUser, hash, function() {
  console.log("New user's flags available");
});
Run Code Online (Sandbox Code Playgroud)