微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

reactjs – React-redux获取站点基础URL / window.location

希望这是一个非常简单的问题:

我想创建一个包含我网站页面的完整URL的字符串,例如:

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 举报,一经查实,本站将立刻删除。

相关推荐