React Relay 和服务端渲染

React Relay and server side rendering

我一直在开发一个用 React 构建的同构应用程序,我已经阅读了有关使用 Relay.jsGraphQL 进行客户端-服务器交互的信息。
我一直在想,在使用 Relay.js 时,特别是在使用 React 的服务器端渲染和同构应用程序开发时,是否有任何特殊的设置或需要记住的事情?

  1. 您需要使用 babel 将 relay 转换为 graphql 查询。
  2. 缓存需要来自 facebook 或类似网站的数据加载器。
  3. 您的数据模型需要完全规范化才能使用上述内容。
  4. 尽量避免使用 JSON 作为列类型,在 graphql 中难以描述
  5. 使用graphiql as browser plugin或独立

React Relay目前没有"out of the box"同构应用的解决方案
不过还是有解决办法的:

  • isomorphic-relay:npm 包,带有非常详细的文档,说明如何轻松地与之集成。

  • isomorphic-relay-router:使用 isomorphic-relay.

  • react-router-relay 添加服务器端渲染支持的 npm 包

据我了解,正在添加服务器端渲染,但没有预计到达时间。