teratail header banner
teratail header banner
質問するログイン新規登録
Material-UI

Material-UIは、Material Designを利用可能なオープンソースのReact向けUIコンポーネントキットです。

Next.js

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

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

React.js

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

Q&A

0回答

1093閲覧

ReactのMUIのDataGridを使ったときに、ビルドエラー

dousuruyo

総合スコア74

Material-UI

Material-UIは、Material Designを利用可能なオープンソースのReact向けUIコンポーネントキットです。

Next.js

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

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

React.js

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

0グッド

0クリップ

投稿2022/06/16 02:13

0

0

前提

React/Typescript/Next.jsをつかって画面を開発しています
なんとかローカルで実行「next dev」する分には動くんですが、ビルド「next build」したときにエラーになります
最終的にはドッカー上で動かすものなので、ビルドしたモジュールがほしいです

ほかに必要な情報があれば、載せます
原因として考えられそうな部分があれば教えてほしいです、よろしくお願いします!

発生している問題・エラーメッセージ

> my-app@0.1.0 build > next build info - Checking validity of types ./pages/index.tsx 17:6 Warning: React Hook useEffect has a missing dependency: 'router'. Either include it or remove the dependency array. react-hooks/exhaustive-deps info - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules info - Creating an optimized production build info - Compiled successfully info - Collecting page data [ ===] info - Generating static pages (8/10)TypeError: Cannot read properties of undefined (reading 'length') at createRowsInternalCache (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\@mui\x-data-grid\node\hooks\features\rows\gridRowsUtils.js:50:28) at rowsStateInitializer (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\@mui\x-data-grid\node\hooks\features\rows\useGridRows.js:37:84) at useGridInitializeState (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\@mui\x-data-grid\node\hooks\utils\useGridInitializeState.js:18:28) at useDataGridComponent (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\@mui\x-data-grid\node\DataGrid\useDataGridComponent.js:78:54) at DataGrid (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\@mui\x-data-grid\node\DataGrid\DataGrid.js:36:65) at Jc (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\react-dom\cjs\react-dom-server.browser.production.min.js:64:191) at Mc (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\react-dom\cjs\react-dom-server.browser.production.min.js:69:169) at Mc (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\react-dom\cjs\react-dom-server.browser.production.min.js:69:326) at Z (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\react-dom\cjs\react-dom-server.browser.production.min.js:71:89) at Nc (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\react-dom\cjs\react-dom-server.browser.production.min.js:73:98) Error occurred prerendering page "/List/WorkspaceTable". Read more: https://nextjs.org/docs/messages/prerender-error TypeError: Cannot read properties of undefined (reading 'length') at createRowsInternalCache (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\@mui\x-data-grid\node\hooks\features\rows\gridRowsUtils.js:50:28) at rowsStateInitializer (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\@mui\x-data-grid\node\hooks\features\rows\useGridRows.js:37:84) at useGridInitializeState (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\@mui\x-data-grid\node\hooks\utils\useGridInitializeState.js:18:28) at useDataGridComponent (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\@mui\x-data-grid\node\DataGrid\useDataGridComponent.js:78:54) at DataGrid (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\@mui\x-data-grid\node\DataGrid\DataGrid.js:36:65) at Jc (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\react-dom\cjs\react-dom-server.browser.production.min.js:64:191) at Mc (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\react-dom\cjs\react-dom-server.browser.production.min.js:69:169) at Mc (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\react-dom\cjs\react-dom-server.browser.production.min.js:69:326) at Z (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\react-dom\cjs\react-dom-server.browser.production.min.js:71:89) at Nc (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\react-dom\cjs\react-dom-server.browser.production.min.js:73:98) info - Generating static pages (10/10) > Build error occurred Error: Export encountered errors on following paths: /List/WorkspaceTable at C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\next\dist\export\index.js:398:19 at runMicrotasks (<anonymous>) at processTicksAndRejections (node:internal/process/task_queues:96:5) at async Span.traceAsyncFn (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\next\dist\trace\trace.js:79:20) at async C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\next\dist\build\index.js:1034:21 at async Span.traceAsyncFn (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\next\dist\trace\trace.js:79:20) at async C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\next\dist\build\index.js:910:17 at async Span.traceAsyncFn (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\next\dist\trace\trace.js:79:20) at async Object.build [as default] (C:\Users\sendaiadmin\Desktop\ezdp-console\my-app\node_modules\next\dist\build\index.js:58:29) ターミナル プロセス "C:\Program Files\PowerShell\7\pwsh.exe -Command npm run build" が終了コード 1 で終了しました。

該当のソースコード

WorkspaceTable.tsx

1import * as React from "react"; 2import { DataGrid, GridColDef } from "@mui/x-data-grid"; 3 4const columns: GridColDef[] = [ 5 { field: "workspaceid", headerName: "ワークスペースID", width: 250 }, 6 { field: "username", headerName: "ユーザー名", width: 200 }, 7 { field: "computername", headerName: "コンピューター名", width: 250 }, 8 { field: "ipaddress", headerName: "IPアドレス", width: 200 }, 9 { field: "status", headerName: "ステータス", width: 200 }, 10]; 11 12function WorkspaceTable(prm: { data: any; setRows: any }) { 13 const [pageSize, setPageSize] = React.useState<number>(5); 14 15 return ( 16 <div style={{ margin: "10px 0px 0px", width: "100%" }}> 17 <DataGrid 18 rows={prm.data} 19 columns={columns} 20 pageSize={pageSize} 21 onPageSizeChange={(newPageSize) => setPageSize(newPageSize)} 22 onSelectionModelChange={(keys) => prm.setRows(keys)} 23 rowsPerPageOptions={[5, 10, 15, 100]} 24 checkboxSelection 25 disableSelectionOnClick 26 autoHeight 27 /> 28 </div> 29 ); 30} 31 32export default React.memo(WorkspaceTable);

試したこと

上記ソースのDataGrid使用部分をコメントアウトしたらビルドも問題なく通るので、そこが原因だとは思います。。

補足情報(FW/ツールのバージョンなど)

packege.json

1{ 2 "name": "my-app", 3 "version": "0.1.0", 4 "private": true, 5 "dependencies": { 6 "@emotion/react": "^11.9.0", 7 "@emotion/styled": "^11.8.1", 8 "@mui/icons-material": "^5.8.0", 9 "@mui/lab": "^5.0.0-alpha.84", 10 "@mui/material": "^5.8.1", 11 "@mui/styles": "^5.8.0", 12 "@mui/x-data-grid": "^5.12.1", 13 "@types/node": "^17.0.42", 14 "@types/react": "^18.0.12", 15 "@types/react-dom": "18.0.5", 16 "axios": "^0.27.2", 17 "body-parser": "^1.20.0", 18 "eslint": "8.17.0", 19 "eslint-config-next": "12.1.6", 20 "express": "^4.18.1", 21 "express-openid-connect": "^2.7.2", 22 "express-session": "^1.17.3", 23 "jose": "^4.8.1", 24 "next": "12.1.6", 25 "passport": "^0.5.2", 26 "passport-auth0": "^1.4.2", 27 "react": "^18.1.0", 28 "react-dom": "^18.1.0", 29 "react-router-dom": "^6.3.0", 30 "react-scripts": "5.0.1", 31 "typescript": "^4.7.3", 32 "web-vitals": "^2.1.4" 33 }, 34 "scripts": { 35 "dev": "next dev", 36 "build": "next build", 37 "start": "next start", 38 "lint": "next lint" 39 }, 40 "eslintConfig": { 41 "extends": [ 42 "react-app", 43 "react-app/jest" 44 ] 45 }, 46 "browserslist": { 47 "production": [ 48 ">0.2%", 49 "not dead", 50 "not op_mini all" 51 ], 52 "development": [ 53 "last 1 chrome version", 54 "last 1 firefox version", 55 "last 1 safari version" 56 ] 57 }, 58 "devDependencies": { 59 "@types/express-session": "^1.17.4", 60 "@types/passport": "^1.0.9", 61 "@types/passport-auth0": "^1.0.5" 62 } 63}

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

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

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

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

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

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問