希望这是一个非常简单的问题:
https://example.com/documents/1
理想情况下,我想在mapStatetoProps()中的react-redux connect() – ed容器中生成它.如果页面是使用browserHistory的react-router Route的孙子(那么也许我可以从react-router或browserHistory以某种方式获取它?)如果有必要,我会在一个完整的React类中完成它.
但我不能为我的生活找到如何做到这一点. window(在window.location中)总是在mapStatetoProps()中没有定义(在那里没什么大不了的),在我的视图组件的render()函数中.
到目前为止,我只找到了访问当前路线的方法,例如: “/ documents / 1”,这只是一个相对路径,不包含站点基本URL(https://example.com/)
首先,请记住您的代码在客户端和服务器上运行,因此任何对窗口的访问都需要包含在检查中.
if (typeof window !== 'undefined') { var path = location.protocol + '//' + location.host + '/someting'; // (or whatever) } else { // work out what you want to do server-side... }
如果您生成的URL显示在DOM中,并且在客户端上,您在第一次呈现之前使用此URL填充商店,那么您将收到校验和错误.如果您真的想避免错误,可以等到根组件中的componentDidMount()来获取/设置url.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。