我怎样才能https://cdnjs.cloudflare.com/ajax/libs/react-router/4.0.0-2/react-router.min.js使用https://cdnjs.cloudflare.com/ajax/libs/react-router/3.0.1/ReactRouter.min.js?
使用3.x以下的示例.
HTML
<script src="https://unpkg.com/react@15.4.2/dist/react.min.js"></script>
<script src="https://unpkg.com/react-dom@15.4.2/dist/react-dom.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-router/3.0.1/ReactRouter.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
JS
let { Router, IndexRoute, Redirect, Route, Link, browserHistory } = ReactRouter;
history.replaceState(0,0,'/');
const Main = () =>
<Router history={browserHistory}>
<Route path='/' component={App}>
<IndexRoute component={Home}/>
<Route path='map' component={Map}/>
<Route path='settings' component={Settings}/>
<Redirect from='foo' to='/' />
<Route path='*' component={NotFound}/>
</Route>
</Router>
const App = props =>
<div>
<Navigation>
<Link to='/map'>Map</Link>
<Link to='/settings'>Settings</Link>
<Link to='/foo'>Foo</Link>
</Navigation>
{props.children}
</div>
const Navigation = props => <nav {...props} />
const Home = …Run Code Online (Sandbox Code Playgroud) 作为用户,我想通过深度网址上的direkt访问内容
情况
在主页面上,我有一个指向"关于"页面的链接.单击内容按预期更改.页面被加载,网址更改为localhost:8080/about.
如果我现在刷新页面我得到错误:
无法获得/关于
我想知道这是正常的行为还是我错过了什么?
路线:
var React = require('react');
var ReactRouter = require('react-router');
var Router = ReactRouter.Router;
var Route = ReactRouter.Route;
var browserHistory = ReactRouter.browserHistory;
var Main = require('./components/Main');
var About = require('./components/About');
module.exports = (
<Router history={browserHistory} >
<Route path="/" component={Main}>
<Route path="about" component={About}/>
</Route>
</Router>
)
Run Code Online (Sandbox Code Playgroud)
主要:
var React = require('react');
var ReactRouter = require('react-router');
var Link = ReactRouter.Link;
module.exports = React.createClass({
render: function() {
return <div>
<div>Header!!</div>
{this.content()}
</div>
},
content: function() {
if(this.props.children) { …Run Code Online (Sandbox Code Playgroud) 我正在尝试导入 browserHistory,但出现类似这样的错误。
./src/App.js
Attempted import error: 'browserHistory' is not exported from 'react-
router'.
Run Code Online (Sandbox Code Playgroud)
我的代码是:
import React, { Component } from "react";
import { browserHistory } from "react-router";
import App from "./App";
class Home extends Component {
home = () => {
browserHistory.push("/home");
};
state = {};
render() {
return <button onClick={this.home} className="btn btn-outline-light">
Logout
</button>;
}
Run Code Online (Sandbox Code Playgroud)
}