【发布时间】:2017-03-28 21:30:17
【问题描述】:
我的组件上有一个按钮,它将导出对象的 json 以便用户下载它?要获取 JSON,我必须进行 REST 调用以获取 JSON,然后我正在这样做
var definitionJson = JSON.stringify(definition);
var definitionName = definition.name
var exportedFileName = definitionName.concat(".json");
var file = new Blob([definitionJson], { type: 'application/json' });
//needed for IE10
if (window.navigator && window.navigator.msSaveBlob) {
window.navigator.msSaveBlob(file, exportedFileName);
}
else {
var a = document.createElement("a");
a.href = URL.createObjectURL(file);
a.setAttribute("download", exportedFileName);
a.click();
}
我有一些问题:-
- 我应该如何在 Flux 中安装它?我是否应该触发一个动作创建者,它将下载 json,然后更新 FileDownload 组件将监听的某个存储。该组件将触发上述代码,但随后它必须在其渲染方法中触发一个操作以将 store 的值设置为空?
- 从组件的渲染方法中触发动作是否正确?
- 由于这不会从我的应用程序中流出任何数据,我是否应该只使用 React 组件来获取此 JSON 并将其弹出以供下载?这将使组件进行 REST 调用。
- 不是 3,而是触发一个动作创建器,它将获取 JSON 并将其弹出以供下载?在这种情况下,我将在动作创建器中编写上述代码。
【问题讨论】:
标签: javascript reactjs redux flux