【发布时间】:2020-01-29 10:55:41
【问题描述】:
我是 react 新手,我想要实现的是使用 laravel 中的 react 组件进行用户登录。
https://github.com/000kelvin/laravel-react-authentication
我遵循了这个并安装了所有东西。当我运行这个项目时,我似乎收到了关于道具的错误。 终端要求我更新我已经更新的 react 和 react-dom
Laravel 5.8; npm 6.4.1; react@16.2.0; react-dom@16.2.1
import LoginContainer from './LoginContainer';
import {withRouter} from "react-router-dom";
class Login extends Component {
constructor(props) {
super(props);
this.state = {
redirect: props.location,
};
}
render() {
return (
<div className="content">
<LoginContainer redirect={this.state.redirect} />
</div>
)
}
}
export default withRouter(Login)
Router.js 看起来像这样:
import React from "react";
import { BrowserRouter, Link, Route, Switch } from "react-router-dom";
import Home from "./components/Home/Home";
import Login from "./views/Login/Login";
import Register from "./views/Register/Register";
import NotFound from "./views/NotFound/NotFound";
// User is LoggedIn
import PrivateRoute from "./PrivateRoute";
import Dashboard from "./views/user/Dashboard/Dashboard";
const Main = () => (
<Switch>
<Route exact path="/" component={Home} />
<Route path="/login" component={Login} />
<Route path="/register" component={Register} />
<PrivateRoute path="/dashboard" component={Dashboard} />
<Route component={NotFound} />
</Switch>
);
export default Main;
显示此错误:
警告:道具类型失败:提供给的道具“组件”无效 'Route': prop 不是有效的 React 组件 在 Route 中(由 Testlog 创建) 在测试日志中
Uncaught Invariant Violation:元素类型无效:应为字符串(对于 内置组件)或类/函数(用于复合组件)但得到:>对象。您可能忘记从它定义的文件中导出组件 > 或者您可能混淆了默认导入和命名导入。
【问题讨论】:
-
您的路线代码有问题。你也可以发一下吗?
-
编辑了我的帖子,请立即查看! @kais
标签: reactjs laravel laravel-5 npm react-dom