javascript - ReactJS 没有加载/渲染

标签 javascript reactjs react-router

今天,当我启动 iMac 继续使用 ReactJS 应用时...它没有加载...

“加载”的意思是,它不显示任何页面的内容。

错误:

Uncaught TypeError: Cannot read property 'getCurrentLocation' of undefined

如果需要App.js和index.js的代码 他们在这里:

应用程序.js:

import React, { Component } from 'react';
import Header from './pages/Header';
import Footer from './pages/Footer';

import './css/App.css';

class App extends Component {
  render() {
    return (
      <div className="App">

        <Header />

            {/*Content*/}
            <div> App Page </div>

        <Footer />

      </div>
    );
  }
}

export default App;

index.js:

import { Router, Route, History } from 'react-router';
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';

// CSS
import './css/index.css';

// Pages
import About from './pages/About';
import Register from './pages/Register';
import Cart from './pages/Cart';
import Thanks from './pages/Thanks';
import Faq from './pages/Faq';
import Contact from './pages/Contact';
import Error from './pages/Error';

ReactDOM.render((
  <Router history={History}>
    <Route path="/" component={App}>
        <Route path="/pages/about" component={About}/>
        <Route path="/pages/Register" component={Register}/>
        <Route path="/pages/Cart" component={Cart}/>
        <Route path="/pages/Thanks" component={Thanks}/>
        <Route path="/pages/Error" component={Error}/>
        <Route path="/pages/Faq" component={Faq}/>
        <Route path="/pages/Contact" component={Contact}/>
    </Route>
  </Router>
), document.getElementById('root'))

最佳答案

根据您的评论,您的历史对象未定义。请尝试导入 browserHistory 而不是 History 并将其传递到您的路由器。

React-Router v4 之前的版本(我假设您正在使用,因为您正在导入 Router:

import { Router, Route, browserHistory } from 'react-router';

...

....
<Router history={browserHistory}>
  <Route path="/" component={App}>

React-Router v4:

不是导入Router/browserHistory,而是导入browserRouter,这是一个创建自己的历史实例的路由器。它看起来像这样:

import { BrowserRouter, Route } from 'react-router';
...

...

<BrowserRouter>
   <Route path="/" component={App}>

关于javascript - ReactJS 没有加载/渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42771569/

相关文章:

javascript - 使用服务器端和客户端渲染的单页 ReactJS 应用程序?

php - 在多部分表单提交上显示加载 gif

javascript - var myFunction = function 函数名()

javascript - 使用组件内的选择器将主题/样式应用于所有 html/react 标签

javascript - 异步请求后如何在路由中重定向?

reactjs - React 路由器 URL 参数不起作用

javascript - 将 CSS 应用于正确放置的字母

javascript - Google 图表 : Is there a way to re-render the chart when the screen changes sizes?(请仅使用 JavaScript)

javascript - Auth0 React 快速入门登录不起作用,401 未经授权

javascript - react /归零 : Can't map over state [object Object]