美文网首页
react-router route及switch

react-router route及switch

作者: good__day | 来源:发表于2018-12-03 16:17 被阅读0次

    在 react-router V4 中,不再提供 onEnter 及 onChange  ,那么怎么监听 <Route /> 的变化事件?

    与 onEnter 与 onChange 对应的是didimount 和 didupdate 两个生命周期函数。

    因为<Swtich> 和 <Route> 其实都是 “react-empty” comments,Route 其实是在依据 swtich 计算的computedMatch 进行组件重新渲染的,所以在使用了 <Link/ > 或者 history 库中的方法,如 to push 等,一般 <Route/> 组件只是 rerender 而不会重新 didmount。所以需要写在 didupdate 中也进行 location 变化的监听

    其中 <Link/> 的源码中,to 的实现如下,其实也是用了 history

    if (replace) {history.replace(to);} else {history.push(to);}

    相关文章

      网友评论

          本文标题:react-router route及switch

          本文链接:https://www.haomeiwen.com/subject/keohjxtx.html