我正在使用react-on-rails设置一个项目来执行初始渲染服务器端 . 我已经将它与react-router集成并成功地为任何给定页面的初始加载渲染服务器端,并且react-router从那里接管并充当常规的React客户端应用程序/路由器 . 我不确定最初加载 props 的最佳方式,因为初始页面可能是该站点的任何"page" . 我没有找到任何在线的集成示例 .

例如,如果对 /page-one 发出请求,则需要将不同的数据作为服务器呈现的道具发送,而不是发送给 /page-two 的请求 .

在Rails中,所有请求都被重定向到索引视图,该视图包含 react_component ,后者又呈现正确的页面 .

routes.rb中:

get "*path", to: "index#index"

指数/ index.html.erb:

<%= react_component("DemoApp", props: {test: "hello"}, prerender: true) %>

这工作得很好,但如何根据所请求的页面填充这些道具?

如果在进行服务器端渲染时,对于获取数据的异步调用(将通常是什么)将发生在服务器端,那将是很好的,然后道具无关紧要 . 这可能吗?或者除了通常通过客户端AJAX请求获取的现有API之外,我是否必须动态确定应该使用哪些道具并拥有单独的服务器端进程来处理它?

我觉得我在这里错过了一个关键部分,只是不确定它到底是什么 .