首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一场升级 React-Router 带来的‘血案’

事故的发生源头就是因为一个全局组件内使用了 React-Router 中的自定义 hooks —— useHistory,具体细节是这样的。...信息变化的时候,组件也能更新 */} } 小明用 React-Router 中的 useHistory 来获取 history 对象里面的状态。...显然这个不是最佳答案,首先我们应该从问题的本质入手,为什么 react-router 不能通过 useHistory 订阅路由信息了。那么本质上到底改了些什么呢?...react-router改版 上面知道了 context 的订阅更新机制,那么为什么现在的 useHistory ,那么新版本的 react-router 改动了些什么呢?...useHistory 原理。 context 订阅更新流程。 参考资源 package.json详解 「源码解析 」这一次彻底弄懂react-router路由原理

1.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    React Router入门指南(包括Router Hooks)

    React是一个用于构建用户界面的JavaScript库。我们还可以借助React Router将其扩展为构建多页应用程序。这是一个第三方库,可在我们的React应用程序中启用路由。...但是,我们的路由器存在问题。即使我们切换到其他页面,Home组件也会一直显示。 原因是React Router将检查定义的路径是否以/开头(如果是),它将呈现组件。...路由hooks(useHistory,useParams,useLocation) 路由hooks使事情变得容易得多。现在,以简单而优雅的方式访问历史记录,位置或参数。...useHistory useHistory钩子使我们可以访问history对象,而无需从props中将其提取。...import { useHistory } from "react-router-dom"; const Contact = () => { const { history } = useHistory

    12K20
    领券