gpt4 book ai didi

javascript - React Router - BrowserHistory.Push VS。上下文类型

转载 作者:搜寻专家 更新时间:2023-10-31 22:54:18 25 4
gpt4 key购买 nike

我正在完成高级 React/redux 教程,并在类(class)中遇到了讲师使用 browserHistory.push 链接到路由的部分,这与之前使用的创建名为 contextTypes 的静态类变量的方法相反并将其设置为等于 React.PropTypes.blah blah blah。

这和使用 browserHistory.push 有什么区别? browserHistory.push 与设置上下文类型相比,作为编程重新路由似乎要容易得多。

谢谢!

最佳答案

不确定您使用了哪些教程,所以这有点摸不着头脑。

我想你正在使用类似 https://github.com/reactjs/react-router-redux 的东西在您的第一个教程中,将路由器状态与您的 redux 状态同步,并在上下文中包含您的路由器对象。然后你可以这样做:

this.context.router.push(location) 调度位置更改这会将位置更改保存到您的 redux 状态,然后加载该新路由。

核心 react-router-redux(以及许多其他路由库)使用 https://github.com/ReactTraining/history管理导航到的路线的历史记录。这允许您在现代浏览器中使用 HTML5 历史 API,回退到 hashHistory (index.html/#page-one) 或内存历史,即呈现服务器端。

历史包带有它自己的 API。在您的教程中,browserHistory.push() 可能会直接调用 history 包的 API ( see here )。

这将导致应用程序加载新路由,但可能会绕过与您的 redux 存储的同步。

您的第二个教程可能不使用 react-router-redux 或具有不同的设置。

关于javascript - React Router - BrowserHistory.Push VS。上下文类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40252253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com