【发布时间】:2022-01-08 16:46:33
【问题描述】:
嘿,我不能用 HOC 包装我的路由组件。我正在使用 react-router-dom v6 但我无法完成这项工作
这是我的实现:
<Route path="/dashboard" element={AuthGuard(<Dashboard />)} />
HOC:
import React from "react";
import { Navigate } from "react-router-dom";
import { firebase } from "../firebase";
const AuthGuard = (Component) => {
class AuthHoc extends React.Component {
authCheck = () => {
const user = firebase.auth().currentUser;
console.log("USER:: ", user);
if (user) {
return <Component {...this.props} />;
} else {
return <Navigate to="/" />;
}
};
render() {
return this.authCheck();
}
}
return AuthHoc;
};
export default AuthGuard;
我得到这个错误:
函数作为 React 子级无效。如果您返回一个组件而不是从渲染中返回,则可能会发生这种情况。或者你可能打算调用这个函数而不是返回它
【问题讨论】:
标签: reactjs react-native