🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Electron

Electronは、HTML5とNode.jsというWebの技術を用いてデスクトップアプリケーションを作成できるクロスプラットフォームな実行環境です。

NeDB

NeDBは、JavaScriptで作られたデータベース。Node.js/NW.js/Electron/ブラウザなどで動作します。アプリケーションに組み込むことができるため、別途でデータベースプロセスを起動することは不要です。MongoDBと互換性があり高速です。

Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

1237閲覧

NeDBから読み込んだ値を画面に一覧表示したいのですが

tcf775

総合スコア7

Electron

Electronは、HTML5とNode.jsというWebの技術を用いてデスクトップアプリケーションを作成できるクロスプラットフォームな実行環境です。

NeDB

NeDBは、JavaScriptで作られたデータベース。Node.js/NW.js/Electron/ブラウザなどで動作します。アプリケーションに組み込むことができるため、別途でデータベースプロセスを起動することは不要です。MongoDBと互換性があり高速です。

Next.js

Next.jsは、Reactを用いたサーバサイドレンダリングなどを行う軽量なフレームワークです。Zeit社が開発しており、nextコマンドでプロジェクトを作成することにより、開発環境整備が整った環境が即時に作成できます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2020/12/04 08:21

編集2020/12/04 08:23

Nextronで画面読み込み時に
NedbのDBファイルから取得したデータを
material-tableを使用して一覧表示したいのですが表示が出来ません。

###作成したファイル

typescript

1import React, { useState } from 'react'; 2import datastore from 'nedb'; 3import MaterialTable from 'material-table'; 4 5export default function EnhancedTable() { 6 const [data, setData] = useState([ 7 { to: 'Mehmet', subject: 'Baran'}, 8 { to: 'Zerya Betül', subject: 'Baran'}, 9 ]); 10 11 var db = new datastore({ 12 filename: 'C:\Users\ore\Desktop\electron\MY_APP\nedb.db', 13 autoload: true 14 }); 15 16 db.find({}, function(err, docs){ 17 let loadData = []; 18 docs.map(doc => loadData.push({ to:doc.to, subject:doc.subject })); 19 setData({...loadData}); //←これで表示が更新されるつもりだったが更新されない 20 }); 21 22 23 24 return ( 25 <div style={{ height: 400, width: '100%' }}> 26 <MaterialTable 27 title="Basic Selection Preview" 28 columns={[ 29 { title: 'to', field: 'to' }, 30 { title: 'subject', field: 'subject' }, 31 ]} 32 data={data} 33 options={{ 34 selection: true 35 }} 36 /> 37 </div> 38 ) 39}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

おそらく
ツッコミどころの多い質問をしてしまいましたが
ひとまず下記のソースで自己解決いたしました。

Typescript

1import React, { useState } from "react"; 2import datastore from "nedb-promises"; 3import MaterialTable from "material-table"; 4 5const db = datastore.create("nedb.db"); 6 7export default function EnhancedTable() { 8 const [data, setData] = useState([]); 9 10 async function setRow() { 11 await db.find({}).then((result) => { 12 let readRows = []; 13 result.map((row) => { 14 readRows.push({ to: row.to, subject: row.subject }); 15 }); 16 setData(readRows); 17 }); 18 } 19 20 setRow(); 21 22 return ( 23 <div style={{ height: 400, width: "100%" }}> 24 <MaterialTable 25 title="Basic Selection Preview" 26 columns={[ 27 { title: "to", field: "to" }, 28 { title: "subject", field: "subject" } 29 ]} 30 data={data} 31 options={{ 32 selection: true 33 }} 34 /> 35 </div> 36 ); 37} 38

投稿2020/12/07 04:43

tcf775

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問