[英]What is the proper way to fetch data from server with ReactJS and Flux architecture where no Store presented?
我有一个用ReactJS库用js编写的前端应用程序。 我确实使用Flux架构来支持我的数据流。 开始时,前端初始化时,它会从服务器(如初始appstate)中检索数据-不同的实体,然后将它们保存到适当的存储区中。 这些存储触发“更改”事件,并且所有组件均使用来自存储的数据进行渲染。 后来,前端工作从这些存储中获取必要的数据。
现在,我需要构建一种报告,并且在前端构建报告效率不高。 我决定使用服务器上的原始数据进行所有计算并获得响应。 这应该通过AJAX请求完成。 根据Flux架构,我需要将它们存储起来,它们的组件应该从那里拿走。 但是,创建新商店(如ReportStore)没有任何意义。 我该如何处理? 我可以直接从组件请求数据并违反模式吗? 如果是,请提供示例代码。
为什么没有ReportStore
? Reports
是您要在客户端上读取并显示在组件中的数据。 如果您想使用AJAX来启动数据加载,我将使用这样的帮助器组件来从前端请求您的报告。
var ReportViewActions = {
getReports: function(requestObject) {
$.ajax({
url: '/reports',
type: 'GET',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: requestObject
}).then(function(newReports) {
AppDispatcher.handleViewAction({
type: ReportActionTypes.RECEIVE_REPORTS,
reports: newReports
});
});
}
}
并在商店中收听事件。 这样,如果您要推送报告或让其他组件订阅ReportStore
一切都已设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.