【发布时间】:2017-03-04 19:24:46
【问题描述】:
我有一个同构的 React 应用程序,组件在服务器端呈现。我希望使用第 3 方 React 组件:(GraphiQL),并且正在渲染:
var GraphiQLComponent = React.createElement(GraphiQL, { fetcher: graphQLFetcher}, "");
router.get('/graphiql', function (req, res) {
res.send(ReactDOMServer.renderToString(GraphiQLComponent));
});
但是,这个组件使用了窗口对象:window.localStorage 和window.addEventListener,当我尝试在浏览器中加载页面时,我得到了错误:
ReferenceError: window is not defined
我可以在服务器上渲染使用 window 对象的 React 组件吗?如果是这样,我需要做什么来解决这个错误?
【问题讨论】:
标签: javascript reactjs isomorphic-javascript graphql-js