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

前端之家收集整理的这篇文章主要介绍了reactjs – React-redux获取站点基础URL / window.location前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
希望这是一个非常简单的问题:

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

@L_404_0@

理想情况下,我想在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.

猜你在找的React相关文章