前提
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}

あなたの回答
tips
プレビュー