Javascript React路由器-BrowserHistory.Push与ContextTypes
我正在完成一个高级react/redux教程,在课程中遇到了一个部分,讲师使用browserHistory.push链接到一个路由,而不是以前使用的创建一个名为contextTypes的静态类变量并将其设置为react.PropTypes.blah之类的方法 这与使用browserHistory.push有什么区别?与设置上下文类型相比,browserHistory.push作为一种编程重路由似乎要容易得多Javascript React路由器-BrowserHistory.Push与ContextTypes,javascript,node.js,reactjs,redux,react-router,Javascript,Node.js,Reactjs,Redux,React Router,我正在完成一个高级react/redux教程,在课程中遇到了一个部分,讲师使用browserHistory.push链接到一个路由,而不是以前使用的创建一个名为contextTypes的静态类变量并将其设置为react.PropTypes.blah之类的方法 这与使用browserHistory.push有什么区别?与设置上下文类型相比,browserHistory.push作为一种编程重路由似乎要容易得多 谢谢 不确定您使用了哪些教程,因此这有点像是瞎猜 我假设您在第一个教程中使用了类似的东西
谢谢 不确定您使用了哪些教程,因此这有点像是瞎猜 我假设您在第一个教程中使用了类似的东西,将路由器状态与redux状态同步,并将路由器对象放在上下文中。然后,您可以执行以下操作:
this.context.router.push(位置)
发送位置更改
这将把位置更改保存到redux状态,然后加载新路由
react router redux(和许多其他路由库)的核心用于管理导航到的路由的历史记录。这允许您在现代浏览器中使用HTML5历史API,返回到hashHistory(index.html/#page one)或内存历史,即呈现服务器端
历史记录包自带自己的API。在您的教程中,browserHistory.push()
可能直接调用历史包的API()
这将导致应用程序加载新路由,但可能会绕过与redux商店的同步
您的第二个教程可能不使用react router redux或具有不同的设置