如何将 redux 存储对象保存到外部 JSON 文件..?
How to save redux store objects to external JSON file..?
我有 redux store
作为 object key value
对,如下所示:
{
"appElements": {
"layers": {
"layer_1": {
"scene": {
"width": "100px",
"height": "100px",
"bgColor": "#aaaaaa",
"bgImage": "http:bgimage1.png"
},
"items": {
"yrgroih9": {
"width": "100px",
"x": "200px"
},
"qhy0dukj": {
"width": "100px",
"x": "200px"
},
"7lw2nvma": {
"width": "100px",
"x": "200px"
}
}
}
}
}
}
我正在使用 Immutable Js 并将上述数据存储为不可变 Map
数据类型。
为了更好地理解,下图显示了状态结构:
我需要将上面给定的存储值保存到外部json文件中,例如mysavedfile.json
.
react reducer 中使用的代码:
import { Map, fromJS, isImmutable } from 'immutable';
export default function images(state = new Map(), action) {
switch (action.type) {
case 'ADD_LAYERS':
return fromJS({ appElements:action.data.appElements });
case 'STATE_TO_JSON_FILE':
console.log("state");
//Here i need to do code to save state to external json file.
default:
return state
}
}
如何实现这个..?
你的 reducers 应该是纯粹的,并根据动作创建一个新的状态。要将状态导出为 JSON,您应该使用选择器。
您将无法直接在计算机的文件系统上创建文件,因为这会带来巨大的安全风险。您不能使用 JavaScript.
从网页执行此操作
您可以将服务器端服务写入 post 您的状态并创建一个文件 - 然后您可以下载该文件或满足于服务器端存储它的位置。
您也可以在内存中创建一个文件并提示用户下载 - 有关此类的更多答案,请参阅 Create a file in memory for user to download, not through server
我有 redux store
作为 object key value
对,如下所示:
{
"appElements": {
"layers": {
"layer_1": {
"scene": {
"width": "100px",
"height": "100px",
"bgColor": "#aaaaaa",
"bgImage": "http:bgimage1.png"
},
"items": {
"yrgroih9": {
"width": "100px",
"x": "200px"
},
"qhy0dukj": {
"width": "100px",
"x": "200px"
},
"7lw2nvma": {
"width": "100px",
"x": "200px"
}
}
}
}
}
}
我正在使用 Immutable Js 并将上述数据存储为不可变 Map
数据类型。
为了更好地理解,下图显示了状态结构:
我需要将上面给定的存储值保存到外部json文件中,例如mysavedfile.json
.
react reducer 中使用的代码:
import { Map, fromJS, isImmutable } from 'immutable';
export default function images(state = new Map(), action) {
switch (action.type) {
case 'ADD_LAYERS':
return fromJS({ appElements:action.data.appElements });
case 'STATE_TO_JSON_FILE':
console.log("state");
//Here i need to do code to save state to external json file.
default:
return state
}
}
如何实现这个..?
你的 reducers 应该是纯粹的,并根据动作创建一个新的状态。要将状态导出为 JSON,您应该使用选择器。
您将无法直接在计算机的文件系统上创建文件,因为这会带来巨大的安全风险。您不能使用 JavaScript.
从网页执行此操作您可以将服务器端服务写入 post 您的状态并创建一个文件 - 然后您可以下载该文件或满足于服务器端存储它的位置。
您也可以在内存中创建一个文件并提示用户下载 - 有关此类的更多答案,请参阅 Create a file in memory for user to download, not through server