React安装了反应路由器,但无法获取要呈现的页面

时间:2017-04-20 16:19:49

标签: javascript reactjs react-router

我已经安装了反应路由器,我正试图让主页面呈现。

这是当前的 index.js

import React, { Component, PropTypes } from 'react';
import { Router, Route } from 'react-router';

import Layout from './components/Layout';
import NewsComponent from './components/NewsComponent';

<Router>
  <div>
    <Route exact path="/" component={Layout} />
    <Route path="/news" component={NewsComponent} />
  </div>
</Router>

const app = document.getElementById('app')

ReactDOM.render(
  <Router history={hashHistory}>
    <Route path="/" component={Layout} />
  </Router>, app);

“布局”组件包含页面布局。

我错过了什么?

我这样做错了吗?

3 个答案:

答案 0 :(得分:1)

有一些你缺少的参考文献,我不知道你是否仅为这个例子省略了它们,或者你真的错过了它们。试试这个:

public E getColourByChar(F char)

然后在您的组件中,您甚至可以浏览历史记录:

import React from 'react';
import ReactDOM from 'react-dom'; //Missing in your example
import { 
  Router, 
  Route, 
  browserHistory //Missing in your example
  } from 'react-router';
import Layout from './components/Layout';

ReactDOM.render(
  <Router history={browserHistory}>
    <Route path="/" component={Layout} />
  </Router>,
  document.getElementById('root')
)

答案 1 :(得分:1)

除了修改代码[缺少导入等]之外,您还要特别提及您正在使用的react-router的版本。假设您正在使用NPM

尝试:

npm remove react-router

然后:

npm install --save react-router@3.0.0

React-router V4默认安装,是对react-router的完全重新设想,与为以前版本的react-router编写的代码不兼容。

如果您暂时没有使用React,我建议您使用create-react-app。从那里开始将非常简单:

https://github.com/facebookincubator/create-react-app

答案 2 :(得分:0)

尝试显式导入ReactDOM(从'react-dom'导入ReactDOM);导入React时不会自动包含它。