问题如标题所述,点击跳转按键时浏览器可以获取到正常地址,但是需要手动刷新才能正常显示页面,具体代码如下:
routeMap.jsx
class RouteMap extends Component {
render(){
return (
<BrowserRouter>
<App>
<Switch>
<Route exact path="/" component={Home}/>
<Route path="/city" component={City}/>
<Route path="/user" component={User}/>
<Route path="/search/:type(/:keyword)" component={Search}/>
<Route path="/detail/:id" component={Detail}/>
<Route path="*" component={NotFound}/>
<Redirect from="/" to="/city"/>
</Switch>
</App>
</BrowserRouter>
)
}
}
export default RouteMap;
./HomeHeader/index.jsx
class HomeHeader extends React.Component {
constructor(props, context) {
super(props, context);
this.shouldComponentUpdate = PureRenderMixin
.shouldComponentUpdate
.bind(this);
}
render() {
return (
<div id="home-header" className="clear-fix">
<div className="home-header-left float-left">
<Link to="/city">
<span>{this.props.cityName}</span>
<i className="anticon anticon-down"></i>
</Link>
</div>
<div className="home-header-right float-right">
<Avatar shape="square" size="small" icon="user"/>
</div>
<div className="home-header-middle">
<div className="search-container">
<i className="anticon anticon-search"></i>
<input type="text" placeholder="请输入搜索的关键字"/>
</div>
</div>
</div>
)
}
}
export default HomeHeader;
谢谢
import { withRouter } from 'react-router'
app上面加个withRouter