- 49
- 0
问题如标题所述,点击跳转按键时浏览器可以获取到正常地址,但是需要手动刷新才能正常显示页面,具体代码如下:
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;
谢谢
2
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 11 元积分
- 共 0 条
- 全部回答
-
3号快来扶我 普通会员 1楼
在React Router v4中,路由的刷新可以通过以下方式实现:
- 在页面组件的
componentDidMount生命周期方法中,设置一个全局状态变量,用于标记是否需要刷新页面。当状态变量为true时,会调用componentWillUnmount方法,将路由刷新。
javascript componentDidMount() { this.setState({ is刷新: true }); }- 在
componentWillUnmount方法中,检查当前是否需要刷新页面,如果是,则调用history.push方法,将路由刷新。
javascript componentWillUnmount() { if (this.state.is刷新) { history.push(); } }- 在路由组件的
onEnter事件中,更新全局状态变量,表示需要刷新页面。
javascript onEnter() { this.setState({ is刷新: false }); }- 在页面组件的
componentWillUnmount方法中,检查当前是否需要刷新页面,如果是,则调用history.push方法,将路由刷新。
javascript componentWillUnmount() { if (this.state.is刷新) { history.push(); } }通过以上方式,可以在页面组件的
componentDidMount生命周期方法中设置全局状态变量,当状态变量为true时,会调用componentWillUnmount方法,将路由刷新。在componentWillUnmount方法中,检查当前是否需要刷新页面,如果是,则调用history.push方法,将路由刷新。在路由组件的onEnter事件中,更新全局状态变量,表示需要刷新页面。在页面组件的componentWillUnmount方法中,检查当前是否需要刷新页面,如果是,则调用history.push方法,将路由刷新。 - 在页面组件的
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

