Reactjs 如何在react应用程序中以编程方式设置要暗启动的用户详细信息
我正在将App.js文件包装到withLDProvider组件中,我想知道如何从我的应用程序功能内部设置用户信息 比如说,我在我的应用程序函数中获取了缓存在Dexie中的用户名,我如何将该用户信息传递到导出应用程序函数时设置用户详细信息的位置 我已经可以获得我所有的用户信息,只是不确定我应该如何传递用户信息。我觉得我在这里采取了错误的方法,但我不太确定该怎么做Reactjs 如何在react应用程序中以编程方式设置要暗启动的用户详细信息,reactjs,launchdarkly,Reactjs,Launchdarkly,我正在将App.js文件包装到withLDProvider组件中,我想知道如何从我的应用程序功能内部设置用户信息 比如说,我在我的应用程序函数中获取了缓存在Dexie中的用户名,我如何将该用户信息传递到导出应用程序函数时设置用户详细信息的位置 我已经可以获得我所有的用户信息,只是不确定我应该如何传递用户信息。我觉得我在这里采取了错误的方法,但我不太确定该怎么做 import React from 'react'; import './App.css'; import { withLDProvid
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);
从“React”导入React;
导入“/App.css”;
从“launchdarkly react client sdk”导入{withLDProvider};
从“/HelloWorld”导入HelloWorld;
常量应用=()=>{
const[user,setUser]=useState({});
//比如说,我异步地获取
//在此处输入用户信息,并使用挂钩设置用户
返回(
{
用户?
:此处将显示登录屏幕
}
);
}
使用ldProvider导出默认值({
clientSideID:“客户端id”,
用户:{
密钥:“用户密钥”,
名称:'用户名',
电邮:'User@email.com'
}
})(App);
接受任何更好的想法,但这似乎暂时有效
好像我错过了文档中的答案
我最后做的是在没有用户的情况下初始化LD,然后使用identify()函数在层次结构中将用户设置为一级。它可以从传递给任何子组件的ldclient prop获得
ldclient.identify(newUser, hash, function() {
console.log("New user's flags available");
});
通常,我们获取用户的信息并将其保存在全局状态。然后您可以在所有组件中访问它。为了处理全局状态,我们使用库Redux(用于mo复杂的应用程序),Mobx。您还可以使用HelpContextAPI处理全局状态。假设我将其存储在全局状态中,那么在将用户作为LD配置传递时,如何在导出语句中提取该信息?那句话会是什么样子?没错。对于未来的读者,请参阅。