【问题标题】:Laravel React authenticationLaravel React 身份验证
【发布时间】:2020-01-29 10:55:41
【问题描述】:

我是 react 新手,我想要实现的是使用 laravel 中的 react 组件进行用户登录。

https://github.com/000kelvin/laravel-react-authentication

我遵循了这个并安装了所有东西。当我运行这个项目时,我似乎收到了关于道具的错误。 终端要求我更新我已经更新的 reactreact-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


【解决方案1】:

尝试使用

<Route path="/login"  component={props => <Login {...props} />}/> 

在你的路线中

【讨论】:

  • 这个 {..props} 是什么意思?
  • 如果你想从路由发送任何道具到组件,这是可选的
  • 好的明白了!好吧,那没用。我还有另一个错误,让我也发布一下。
  • 问题出在您的导出组件上。 ./views/Login/Login 是正确的路径。可能只是 ./views/Login。试试看。
  • 不,它是views中的一个目录,结构是这样的,我也分享了git url,你可以在那里查看完整的代码结构。
猜你喜欢
  • 2019-03-15
  • 1970-01-01
  • 2016-05-16
  • 2016-08-03
  • 2019-08-12
  • 1970-01-01
  • 2019-10-10
相关资源
最近更新 更多