应用程序A将数据发布到应用程序B,这将是应用程序B的初始状态。为此,我正在使用Reactjs.Net
应用程序B将从应用程序A接收初始数据作为发布数据。我需要在我的商店中将此发布数据设置为initialState。为此,我正在使用Reactjs.net。
我在控制器中读取帖子数据,将数据映射到我的对象并将其分配给viewbag以使其在我的视图中可用。
以下是我的观点。我从ViewBag中读取了InitialData并对其进行了分配,以便可以在我的React组件中访问它。
@Styles.Render("~/css")
@Scripts.Render("~/scripts")
@Html.React("InitialData", new { LoadData = ViewBag.InitialDataObject })
<script src="/react-15.0.1.js"></script>
<script src="/react-dom-15.0.1.js"></script>
<div class="container pad-l-0px pad-r-0px">
<div id="app"></div>
</div>
<script src="~/public/bundle.js"></script>
在React组件中,我可以获取数据。现在我如何将这些数据作为initialState传递给商店,最好的方法是什么?
var InitialData = React.createClass({
getInitialState: function () {
return { InitialLoadData: this.props.LoadData };
},
render: function() {
return (
<div></div>
);
}
});
我将仅使用服务器端呈现来设置初始状态。我知道我可以在我的视图中将数据分配给全局变量,并直接访问我的reducer中的变量。但我想避免这样做。
答案 0 :(得分:1)
如果您使用Redux,则不提供组件的初始商店数据,但是您将其作为createStore
的参数提供。
您通常会将初始状态分配给服务器端输出中的脚本变量,并在初始化商店时使用该变量。
有关详细示例,请参阅此页面: http://redux.js.org/docs/recipes/ServerRendering.html