我正在尝试在我的 React 网站上添加使用 FB 登录。
FB.init({
appId : app_id,
cookie : true,
xfbml : true,
version : 'v5.0'
});
Run Code Online (Sandbox Code Playgroud)
其次是
FB.getLoginStatus(({status}) => {
if (status === 'connected') {
FB.logout();
}
FB.login((response) => {
if (response.authResponse) {
const {authResponse: {accessToken}} = response;
onSuccess(accessToken);
} else {
onError({error: 'popup_closed_by_user'});
}
}, {scope: 'email'});
})
Run Code Online (Sandbox Code Playgroud)
但是它第一次打开弹出窗口(当getLoginStatus
不是connected
)然后第二次它在控制台上显示错误
Uncaught b { innerError: undefined, message: "Expression is of type undefined, not function" }
Run Code Online (Sandbox Code Playgroud)
经过进一步调查,我发现该错误发生在FB.logout()
调用该行时。
我可能做错了什么?
注意相同的代码一直工作到昨天。
我有一个正在运行的 React 应用程序,我想使用 React.lazy 添加基于路由的代码拆分。
目前我的代码是,
import { PureComponent, cloneElement, Suspense, lazy } from 'react';
...
export const CartPage = lazy(() => import(/* webpackMode: "lazy", webpackPrefetch: true */ 'Route/CartPage'));
...
<Suspense fallback={ this.renderFallbackPage() }>
<NoMatchHandler>
<Switch>
...
<Route path="/cart" exact component={ CartPage } />
...
</Switch>
</NoMatchHandler>
</Suspense>
Run Code Online (Sandbox Code Playgroud)
这里只提到了相关部分,以使其紧凑。
现在的问题是,在 webpack-dev-server 中,它运行得很好,但是当我运行 npm run build 并转到/cart
代码中断时。按照提到的错误链接后,这是消息
Element type is invalid. Received a promise that resolves to: function i(e){var r;return
r=t.call(this,e)||this,T()(y?!e.wrapperProps[d]:!e[d],"Passing redux store in props has
been …
Run Code Online (Sandbox Code Playgroud) 据我从我的研究中可以看出,您无法使用可以从 JavaScript 调用的任何内置方法来创建多字段提示对话框。那么大多数路由器(192.168.0.1)的主页是如何开发认证提示框的,如下图?
我做了更多研究,发现您可以使用 php 设置基本的 http 身份验证
$user = 'user';
$password = 'pass';
if (!($_SERVER['PHP_AUTH_USER'] == $user && $_SERVER['PHP_AUTH_PW'] == $password)) {
header('WWW-Authenticate: Basic realm="Please enter username and password to access this website"');
header('HTTP/1.0 401 Unauthorized');
echo '<h1>Unauthorized Access</h1>';
exit;
}
echo "normal website contents";
Run Code Online (Sandbox Code Playgroud)