react-router - react router 用hashHistory做路由 link组件跳转的时候 render会执行两次 怎么避免这个问题?

查看:567
本文介绍了react-router - react router 用hashHistory做路由 link组件跳转的时候 render会执行两次 怎么避免这个问题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

react 生命周期的几个方法没问题 就在render里有问题

render () {
    console.log(1) //页面刷新执行一次, 路由link to 到当前组件会执行两次
    return (
        <div>
            <div className="header">
                <IndexLink to="/" activeClassName="active">HOME</IndexLink>
                <Link to="/details" activeClassName="active">DETAILS</Link>
                <Link to="/test" activeClassName="active">TEXT</Link>
            </div>
            <div className="content">
                hello,details
            </div>
            <div className="footer"></div>
        </div>
    )
}

解决方案

render方法会执行不止一次,这要看他的组件数量和状态变化。

一个组件的装载只会执行一次componentDidMount,但是会执行多次render,因为他会执行多次componentDidUpdate,你可以在这个钩子函数里面console一下,有状态要更新或者组件装载他就会执行,render也会执行

这篇关于react-router - react router 用hashHistory做路由 link组件跳转的时候 render会执行两次 怎么避免这个问题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆