返回前获取数据服务器端

时间:2016-04-16 17:21:20

标签: javascript node.js reactjs request hapijs

使用Hapi和React,获取数据服务器端以生成视图的最佳方法是什么?

我目前正在使用Elasticsearch作为我的数据源并使用DrawResourcesc__AnonStoreyF库查询它,但是给定javascripts异步性质,数据永远不会按时加载,我怎么能在我之前加载数据返回视图?

request

3 个答案:

答案 0 :(得分:0)

我会从hapi服务器中获取数据然后用来填充你的视图,在你的情况下做出反应。我会在预处理程序中从外部http源获取数据,然后可以在视图中使用。您不能使用module.exports导出异步上下文,因为“require”是同步的。

答案 1 :(得分:0)

使用redux-saga帮助您获取服务器端的初始数据。

从未使用过Elasticsearch,但请查看我的React example that uses Redux Saga and Hapi for Server-side Rendering

答案 2 :(得分:-1)

应以某种方式通知更新其依赖关系值

React组件取决于propsstate以及范围之外的东西。

    仅当父组件传递新的props对象时,才能更改组件中的
  • props
  • state可以使用.setState
  • 进行更新
  • globals(除propsstate之外的所有内容)都可以更新React元素:
    • 将其复制到state并使用globals中的一些订阅方法进行更新。
    • 直接使用其值,并通过订阅全局更新再次在组件上调用.forceUpdate
    • 使用新的props
    • 重新呈现根组件

在您的情况下,我建议您使用以下其中一项:

  • 使用Kefir.js(或类似)和bind 可观察的更新道具
  • 将此类查询放入root component
  • 使用ReduxReFlux并查找有关如何与该库进行数据同步的教程