【发布时间】:2018-03-19 21:51:00
【问题描述】:
我正在使用 react-router-dom 4.0.0。当我点击按钮时,网址已更改,但页面未更改,我必须刷新页面才能转到新页面。
render() {
return (
<div className='text-xs-right' >
<Link to="/posts/new" >
<button type="button" className="btn btn-primary" > Add a Post </button>
</Link>
</div>
);
}
这是我的路由器:
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { createStore, applyMiddleware } from 'redux';
import { BrowserRouter as Router, Route } from 'react-router-dom';
import promise from 'redux-promise';
import reducers from './reducers';
import PostsIndex from './components/postsIndex';
import NewPost from './components/newPost';
const createStoreWithMiddleware = applyMiddleware(promise)(createStore);
ReactDOM.render(
<Provider store={createStoreWithMiddleware(reducers)}>
<Router>
<div>
<Route exact path={'/'} component={PostsIndex} />
<Route exact path={'/posts/new'} component={NewPost} />
</div>
</Router>
</Provider>
, document.querySelector('.container'));
这是我的依赖:
"dependencies": {
"axios": "^0.18.0",
"babel-preset-stage-1": "^6.1.18",
"lodash": "^3.10.1",
"react": "^0.14.3",
"react-dom": "^0.14.3",
"react-redux": "4.3.0",
"react-router": "^2.0.1",
"react-router-dom": "^4.0.0",
"redux": "^3.0.4",
"redux-promise": "^0.5.3"
}
我找到了解决方案,但仍然不知道为什么我以前的代码不起作用。下面的代码虽然有效:
<Switch>
<Route path={'/posts/new'} component={NewPost} />
<Route path={'/'} component={PostsIndex} />
</Switch>
为什么我的第一种方法不起作用?
【问题讨论】:
标签: reactjs react-router-v4 react-router-dom