【发布时间】:2016-07-11 11:36:36
【问题描述】:
我正在尝试使用 ReactJS 和 Redux 使用 ASP.NET MVC 制作的应用程序进行服务器端渲染。我正在使用 ReacJS.Net。
我的组件可以很好地进行客户端渲染。
我的应用程序可能是这里的示例之一:http://redux.js.org/docs/basics/UsageWithReact.html。这里是主要代码(用于客户端渲染)。
import React from 'react'
import { render } from 'react-dom'
import { Provider } from 'react-redux'
import { createStore } from 'redux'
import todoApp from './reducers'
import App from './components/App'
let store = createStore(todoApp)
render(
<Provider store={store}>
<App />
</Provider>,
document.getElementById('root')
)
如何使用带有服务器端渲染的 ReacJS.NET 做到这一点?
【问题讨论】:
-
你找到方法了吗?
-
@Rana 不,我没有找到任何解决方案
-
首先我建议你查看来自 ReactJS.NET 的 documentation 关于 SSR。其次,对于 SSR,Redux 上的解决方案是在渲染应用程序 HTML 时,在服务器端的全局变量中注入初始状态。例如:
<script>window.__MY_STATE__ = {...}</script>。在客户端中,您可以从该变量中检索状态。它并不漂亮,但它很有效,而且是一种常见的技术。 -
我很久以前确实检查过这个文档。但它并没有谈论 Redux,它不仅仅是像你说的那样传递一个变量(或者我错过了什么)。我的问题是初始化商店并使用提供者构建一个组件。我不知道如何用 ReactJS.NET 做到这一点。
标签: asp.net-mvc reactjs redux serverside-javascript reactjs.net