如何将一个数组和一些文本自动保存在js文件中?

时间:2019-06-06 16:05:05

标签: javascript reactjs

我有一个.js文件,其中包含一个将作为数据导入的数组。例如,它将如下所示:

const ideasData = [
    {
        content:"Content",
        title: "This Title",
        date: new Date()
    },
    {
        content:"content2",
        title: "second title",
        date: new Date()
    }
]

export default ideasData

导出是必需的,因为我会将数据导入另一个文件中。我使用程序中的数据,然后将对其进行整体修改。

import ideasData from "./ideasData";
class Ideas extends Component{
    constructor() {
        super()
        this.state = {
            ideas : ideasData
        }}}

我想每隔几秒钟以类似的格式(文件,然后是导出)覆盖文件中的数据作为自动保存。因此,下次我打开网页时,它将看起来像是关闭时一样。

在返回之前,我在类中放置了函数autoSave(),然后在render方法中放置了setInterval(this.autoSave, 5000)。我不确定如何将数组this.state.ideas保存到ideaData文件。另外,我不确定要将setInterval放在render方法中。我将其更改为setInterval(console.log("saved"),5000),它似乎只在控制台中记录过一次。

1 个答案:

答案 0 :(得分:1)

所以,我们已经在这里保存您的文件了

const ideasData = [
    {
        content:"Content",
        title: "This Title",
        date: new Date()
    },
    {
        content:"content2",
        title: "second title",
        date: new Date()
    }
]

export default ideasData

现在,您要做的就是导出一个set方法(与上面的代码位于同一文件中),例如:

export function update(newData) {
    ideasData = newData;
}

您必须将const更改为let才能对其进行突变,否则,您可以清除它并推送新数据,也可以使用自己的状态创建一个Class。无论哪种方式。

现在,当setInterval(this.autoSave, 5000)运行时,只需导入新的update函数,然后调用update(this.state.ideas)即可更新数据缓存。