我将 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> …Run Code Online (Sandbox Code Playgroud) 我目前在我的渐进式Web应用程序中使用ApplicationInsights-JS。它可以在我的react组件中工作,因为我可以从相关的npm包中导入所需的内容。
但是,在服务工作者中,我只能使用importScripts导入逻辑。
我确实在他们的Github页面上找到了ApplicationInsights-JS的CDN,但是似乎要使用此库初始化应用程序见解,您需要访问窗口才能存储appinsights,而服务工作人员无法这样做。
由于CDN似乎与该特定库有关,因此我尝试使用Web片段方法,但是我无法使用window,而且不确定如何实现此解决方案。
这是建议片段的副本粘贴,用于从以下位置初始化应用程序见解对象:https : //github.com/Microsoft/ApplicationInsights-JS
importScripts('https://az416426.vo.msecnd.net/beta/ai.2.min.js');
const sdkInstance = 'appInsightsSDK';
window[sdkInstance] = 'appInsights';
const aiName = window[sdkInstance];
const aisdk =
window[aiName] ||
(function(e) {
function n(e) {
i[e] = function() {
const n = arguments;
i.queue.push(function() {
i[e](...n);
});
};
}
let i = { config: e };
i.initialize = !0;
const a = document;
const t = window;
setTimeout(function() {
const n = a.createElement('script');
(n.src = e.url || 'https://az416426.vo.msecnd.net/next/ai.2.min.js'),
a.getElementsByTagName('script')[0].parentNode.appendChild(n);
});
try {
i.cookie = a.cookie; …Run Code Online (Sandbox Code Playgroud) web-worker reactjs service-worker azure-application-insights