使用react-router 4.0.0的路由器历史记录

Mah*_*oni 4 javascript reactjs react-router

react-router 4.0.0历史上,挑战似乎已经发生了变化,具体如下index.js

import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route, hashHistory } from 'react-router';
import App from './components/App';
import './index.css';

ReactDOM.render(
  <Router history={hashHistory}>
    <Route path="/" component={App} />
  </Router>, document.getElementById('root')
);
Run Code Online (Sandbox Code Playgroud)

我明白了:

Warning: Failed prop type: The prop `history` is marked as required in `Router`, but its value is `undefined`.
Run Code Online (Sandbox Code Playgroud)

然后是错误.我浏览了代码,但找不到任何示例或API如何更改.

Ans*_*ain 23

React Router v4改变了一点点.他们制作了单独的顶级路由器元素.更换<Router history={hashHistory}><HashRouter>在你的代码.

希望这会有所帮助.

import {HashRouter,Route} from 'react-router-dom';

<HashRouter>
    <Route path = "/getapp" component = {MainApp} />
</HashRouter>
Run Code Online (Sandbox Code Playgroud)


Pau*_*l S 9

hashHistory不再是导出的对象react-router.如果要使用哈希历史记录,则可以只渲染一个哈希历史记录<HashRouter>.

import { HashRouter } from 'react-router-dom'

ReactDOM.render((
  <HashRouter>
    <App />
  </HashRouter>
), holder)
Run Code Online (Sandbox Code Playgroud)