reactjs - Reactjs路由器4 - 无法读取未定义的属性路径名
问题描述
知道这个问题问了很多遍,但是都没有得到正确的答案,只是创建了一个小项目来学习reactjs
index.js
import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router } from 'react-router-dom';
import routes from './config/routes';
import jquery from 'jquery';
import metismenu from 'metismenu';
import bootstrap from 'bootstrap';
import '../../../../node_modules/bootstrap/dist/css/bootstrap.min.css'
import '../../../../node_modules/font-awesome/css/font-awesome.css'
import '../../../../node_modules/animate.css/animate.min.css'
import '../../css/style.css'
ReactDOM.render(
<Router>{routes}</Router>,
document.getElementById('indo')
);
配置/routes.js
import React from 'react'
import Main from '../layouts/Main';
import Blank from '../layouts/Blank';
import MainView from '../views/Main';
import MinorView from '../views/Minor';
// import { Router, IndexRedirect} from 'react-router';
import { BrowserRouter as Router, Route } from 'react-router-dom';
export default (
<Router>
<Route path="/">
<Main>
<Route path="/main" />
<Route path="main" component={MainView}> </Route>
<Route path="minor" component={MinorView}> </Route>
</Main>
</Route>
</Router>
);
这是我的Main.js,错误的来源
import React from 'react';
import Progress from '../common/Progress';
import Navigation from '../common/Navigation';
import Footer from '../common/Footer';
import TopHeader from '../common/TopHeader';
import { correctHeight, detectBody } from './Helpers';
class Main extends React.Component {
render() {
let wrapperClass = "gray-bg " + this.props.location.pathname;
return (
<div id="wrapper">
<Progress />
<Navigation location={this.props.location}/>
<div id="page-wrapper" className={wrapperClass}>
<TopHeader />
{this.props.children}
<Footer />
</div>
</div>
)
}
开发工具在“let wrapperClass = "gray-bg " + this.props.location.pathname;" 行中告诉错误
有任何想法吗?
解决方案
我刚刚找到了解决方案
在 config/route.js 中,我改为
<Router>
<div>
<Route path="/" component={Main}/>
<Route path="main" component={MainView}/>
<Route path="minor" component={MinorView}/>
</div>
</Router>
希望它可以帮助别人
推荐阅读
- javascript - 我的网站出现 css 404 错误,但 css 存在
- python - 熊猫从列表中添加缺失的行
- magento-2.3 - 从magento2中的cartId获取产品Sku
- javascript - 我可以在函数中使用钩子吗(不是函数组件)
- java - 在 try catch 块中寻找有关 file.delete() 方法的解释
- azure - Azure DevOps Pipeline - 对同一阶段的不同任务使用具有不同内容的相同变量
- webpack - 如何使用 splitChunks 和 MiniCssExtractPlugin 告诉 Webpack 5 仅使用一个条目从 node_modules 创建一个单独的vendors.css?
- mysql - MYSQL 加入,卡住了
- c# - 等待后哪个线程继续?
- android-studio - 我在Android Studio工作,由于系统崩溃,一个或多个功能由于频繁的系统崩溃而崩溃。我应该如何恢复它?