我已经安装了反应路由器,我正试图让主页面呈现。
这是当前的 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);
“布局”组件包含页面布局。
我错过了什么?
我这样做错了吗?
答案 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。从那里开始将非常简单:
答案 2 :(得分:0)
尝试显式导入ReactDOM(从'react-dom'导入ReactDOM);导入React时不会自动包含它。