为什么会出现此错误?
警告:React.createElement:类型无效-预期为字符串 (对于内置组件)或类/函数(对于复合 组件),但得到:未定义。您可能忘记了导出 定义文件中的组件,否则您可能混淆了 默认导入和命名导入。
我的PrivateRoute.js如下所示:
<?= base_url(); ?>
我的导入调用如下:
const PrivateRoute = ({ component: Component, ...rest }) => (
<Route
{...rest}
render={(props) =>
(Auth.isUserAuthenticated()) ? (
<Component {...props} {...rest} />
) : (
<Redirect
to={{
pathname: "/login",
state: { from: props.location }
}}
/>
)
}
/>
);
export default PrivateRoute;
我正在这样使用它:
import HomePage from "../homepage/homepage";
import PrivateRoute from "../../modules/privateRoute";
答案 0 :(得分:1)
似乎您尚未从其各自的文件中导出HomePage组件。请确保已使用export关键字导出了组件。
class HomePage extends React.Component {
// your class implementation goes here
}
export default HomePage;
或者,您可能没有导入HomePage组件,在传递给PrivateRoute之前应该将其导入。
import HomePage from '../../path/to/HomePage';
<PrivateRoute exact path='/' component={HomePage} />