【发布时间】:2020-01-12 06:17:59
【问题描述】:
我将我的 App.js 文件包装在 withLDProvider 组件中,我想知道如何从我的 App 函数内部设置用户信息。
假设我在我的 App 函数中获取了缓存在 Dexie 中的用户名,如何在导出 App 函数时将该用户信息传递到设置用户详细信息的位置。
我已经可以获取我所有的用户信息,只是不确定我应该如何传递用户信息。我觉得我在这里采取了错误的方法,但不太确定该怎么做。
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);
【问题讨论】:
-
一般我们获取用户信息并将其保存在全局状态。然后,您可以在所有组件中访问它。为了处理全局状态,我们使用库 Redux(用于更复杂的应用程序)、Mobx。您还可以使用 Context API 来处理全局状态。
-
因此,假设我确实将其存储在全局状态中,那么当将用户作为 LD 配置传递时,如何在导出语句中提取该信息?那句话会是什么样子?
标签: reactjs launchdarkly