如何在React项目中连接LowDB?

时间:2019-01-23 10:46:00

标签: database reactjs

首先,我对我的英语水平不佳表示歉意。 我有一个关于LowDB的问题。 我使用React + Electron + LowDB开发了一些软件。 但是,当我尝试在项目中使用LowDB时,出现了问题。

lowDB.js

const low = require('lowdb');
const FileSync = require('lowdb/adapters/FileSync');
const adapter = new FileSync('db_data/db.json');
const db = low(adapter);

db.defaults({ data: [] }).write();

class DBHandler {
  constructor() {
    this.db = db;
  }

  insertStudyTime(saveDate, startTime, endTime, restTime) {

  }
}

export default DBHandler;

time.js

import React, { Component } from 'react';
import { PropTypes } from 'prop-types';
import { confirmAlert } from 'react-confirm-alert';
import 'react-confirm-alert/src/react-confirm-alert.css';
/* lowDB Import */
import DBHandler from '../../lowDB/lowDB';

如上所述导入LowDB。

问题是我们可以看到在cmd的节点上运行lowDB可以正常工作。

但是, enter image description here

发生类型错误。

这似乎是一个简单的问题。我认为我缺少一部分。即使我在查看每个过程的同时都要经历该过程,也很难找到答案,请参阅LowDB存储库的自述文件,

1 个答案:

答案 0 :(得分:0)

纱线添加lowdb index.js:

import low from 'lowdb'
import LocalStorage from 'lowdb/adapters/LocalStorage'

const adapter = new LocalStorage('db')
const db = low(adapter)

const Home=(props)=>{
    db.defaults({ users: [], token:'' }).write()
    #init db, use db.defaults.

     then you can set db, and get db.
     db.get('users').push({ username: 'admin' }).write()  #set user's username
     db.set('token','you token').write()
     

     get:
     db.getState().user.username   =>'admin' 
     #or  db.get('user').find('username').value()
     db.getState().token    =>'you token'
}