【发布时间】:2016-05-19 18:05:18
【问题描述】:
我正在尝试访问 URL 子域。传统上我会在 JavaScript 中做
var full = window.location.host;
var parts = full.split('.');
var subdomain = parts[0];
// ...
但是我从 React JS 组件调用它,我收到以下错误 -
Encountered error "TypeError: undefined is not an object (evaluating 'window.location.host')"
似乎window.location.host 在 React 中不起作用?它不能访问窗口吗?
我知道不这样做可能有哲学上的原因,但如果 React 可能的话,我仍然很好奇如何实现它。
谢谢!
【问题讨论】:
-
这段代码是否在浏览器中运行?还是它可能以某种同构渲染模式在 nodejs 中运行?
-
所以它是一个更大的 Rails 应用程序的一部分。 react 组件是从调用 JSX 的视图中渲染出来的。我想虽然所有这些都是在服务器端编译的,但最终的反应代码在客户端浏览器的上下文中运行?
-
我们必须查看您的具体设置,但我猜想在没有窗口和窗口对象的后端评估带有 window.location 的这条线。
-
是的,我认为你是对的,从错误和它返回“未定义”的事实来看:(
标签: javascript reactjs