部署时变量和对象出现未定义错误
Variables and Objects are getting undefined Error at the time of Deployment
我一直在做一个项目,在 Vercel 上部署时卡住了,我想问题是因为预渲染。
因为它导致我的 variables/objects 未定义,我稍后会从用户那里得到。
下面是构建日志文件的屏幕截图。
请告诉我问题是什么。
如果问题出在预渲染上,那么有什么方法可以停止预渲染某些 Next.js 组件吗?
这是我得到的错误。如果有人能提供帮助,我将不胜感激 me:blush:
出现错误的组件
function Message({ message: { text, user }, name }) {
let isSentByCurrentUser = false;
console.log(text, name, user);
const trimmedName = name.trim().toLowerCase();
if (user === trimmedName) {
isSentByCurrentUser = true;
}
return (
isSentByCurrentUser
? (
<div className={[styles.messageContainer, styles.justifyEnd].join(" ")} >
<p className={[styles.sentText, styles.pr10].join(" ")} >{trimmedName}</p>
<div className={[styles.messageBox, styles.backgroundBlue].join(" ")}>
<p className={[styles.messageText, styles.colorWhite].join(" ")}>{ReactEmoji.emojify(text)}</p>
</div>
</div>
)
: (
<div className={[styles.messageContainer, styles.justifyStart].join(" ")} >
<div className={[styles.messageBox, styles.backgroundLight].join(" ")}>
<p className={[styles.messageText, styles.colorDark].join(" ")} >{ReactEmoji.emojify(text)}</p>
</div>
<p className={[styles.sentText, styles.pl10].join(" ")} >{user}</p>
</div>
)
);
}
是的,'text' 是未定义的我知道了...但是只要用户输入一些文本它就会被定义。这就是为什么我的应用程序在本地主机上运行良好的原因。
但是当我尝试部署它时,它给了我这个未定义的错误。可能是因为预渲染。
从下面的组件“消息:{文本,用户},名称”正在传递到上面的组件。
function Messages({ messages, name }) {
return (
<ScrollToBottom className={styles.messages} >
{
(messages) ? messages.map((message, i) =>
<div key={i}>
<Message message={message} name={name} />
</div>)
: "null"
}
</ScrollToBottom>
)
}
构建日志:
13:36:20.290 Cloning completed in 318ms
13:36:20.294 Analyzing source code...
13:36:20.824 Installing build runtime...
13:36:23.365 Build runtime installed: 2540.746ms
13:36:27.075 Installing dependencies...
13:36:43.528 > sharp@0.26.3 install /vercel/workpath0/node_modules/sharp
13:36:43.528 > (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
13:36:43.730 info sharp Using cached /vercel/.npm/_libvips/libvips-8.10.0-linux-x64.tar.br
13:36:45.285 > @ampproject/toolbox-optimizer@2.7.1-alpha.0 postinstall /vercel/workpath0/node_modules/@ampproject/toolbox-optimizer
13:36:45.285 > node lib/warmup.js
13:36:45.721 Browserslist: caniuse-lite is outdated. Please run:
13:36:45.721 npx browserslist@latest --update-db
13:36:45.970 [7mAMP OPTIMIZER[0m Downloaded latest AMP runtime data.
13:36:46.337 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.1 (node_modules/fsevents):
13:36:46.337 npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
13:36:46.340 added 473 packages from 1423 contributors in 18.698s
13:36:46.608 37 packages are looking for funding
13:36:46.608 run `npm fund` for details
13:36:46.643 Running "npm run build"
13:36:46.917 > xpro3@0.1.0 build /vercel/workpath0
13:36:46.917 > next build
13:36:47.640 info - Creating an optimized production build...
13:36:47.658 Attention: Next.js now collects completely anonymous telemetry regarding usage.
13:36:47.658 This information is used to shape Next.js' roadmap and prioritize features.
13:36:47.658 You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
13:36:47.658 https://nextjs.org/telemetry
13:37:22.791 info - Compiled successfully
13:37:22.792 info - Collecting page data...
13:37:24.624 info - Generating static pages (0/15)
13:37:24.900 Unhandled error during request: TypeError: Cannot read property 'text' of undefined
13:37:24.900 at Message (/vercel/workpath0/.next/serverless/pages/components/Messages/Message/Message.js:1381:5)
13:37:24.901 at d (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:33:498)
13:37:24.901 at bb (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:36:16)
13:37:24.901 at a.b.render (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:42:43)
13:37:24.901 at a.b.read (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:41:83)
13:37:24.901 at exports.renderToString (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:52:138)
13:37:24.902 at Object.renderPage (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:851)
13:37:24.902 at Function.getInitialProps (/vercel/workpath0/.next/serverless/pages/components/Messages/Message/Message.js:630:19)
13:37:24.902 at loadGetInitialProps (/vercel/workpath0/node_modules/next/dist/next-server/lib/utils.js:5:101)
13:37:24.902 at renderToHTML (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:1142)
13:37:24.904 Error occurred prerendering page "/components/Messages/Message/Message". Read more: https://err.sh/next.js/prerender-error
13:37:24.904 TypeError: Cannot read property 'text' of undefined
13:37:24.904 at Message (/vercel/workpath0/.next/serverless/pages/components/Messages/Message/Message.js:1381:5)
13:37:24.904 at d (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:33:498)
13:37:24.905 at bb (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:36:16)
13:37:24.905 at a.b.render (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:42:43)
13:37:24.905 at a.b.read (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:41:83)
13:37:24.905 at exports.renderToString (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:52:138)
13:37:24.905 at Object.renderPage (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:851)
13:37:24.905 at Function.getInitialProps (/vercel/workpath0/.next/serverless/pages/components/Messages/Message/Message.js:630:19)
13:37:24.906 at loadGetInitialProps (/vercel/workpath0/node_modules/next/dist/next-server/lib/utils.js:5:101)
13:37:24.906 at renderToHTML (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:1142)
13:37:24.910 info - Generating static pages (3/15)
13:37:24.957 Unhandled error during request: TypeError: Cannot read property 'map' of undefined
13:37:24.958 at Messages (/vercel/workpath0/.next/serverless/pages/components/Messages/Messages.js:372:24)
13:37:24.958 at d (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:33:498)
13:37:24.958 at bb (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:36:16)
13:37:24.958 at a.b.render (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:42:43)
13:37:24.958 at a.b.read (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:41:83)
13:37:24.958 at exports.renderToString (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:52:138)
13:37:24.959 at Object.renderPage (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:851)
13:37:24.959 at Function.getInitialProps (/vercel/workpath0/.next/serverless/pages/components/Messages/Messages.js:773:19)
13:37:24.959 at loadGetInitialProps (/vercel/workpath0/node_modules/next/dist/next-server/lib/utils.js:5:101)
13:37:24.959 at renderToHTML (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:1142)
13:37:24.959 Error occurred prerendering page "/components/Messages/Messages". Read more: https://err.sh/next.js/prerender-error
13:37:24.959 TypeError: Cannot read property 'map' of undefined
13:37:24.960 at Messages (/vercel/workpath0/.next/serverless/pages/components/Messages/Messages.js:372:24)
13:37:24.960 at d (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:33:498)
13:37:24.960 at bb (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:36:16)
13:37:24.960 at a.b.render (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:42:43)
13:37:24.960 at a.b.read (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:41:83)
13:37:24.960 at exports.renderToString (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:52:138)
13:37:24.960 at Object.renderPage (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:851)
13:37:24.960 at Function.getInitialProps (/vercel/workpath0/.next/serverless/pages/components/Messages/Messages.js:773:19)
13:37:24.961 at loadGetInitialProps (/vercel/workpath0/node_modules/next/dist/next-server/lib/utils.js:5:101)
13:37:24.961 at renderToHTML (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:1142)
13:37:25.062 info - Generating static pages (7/15)
13:37:25.250 info - Generating static pages (11/15)
13:37:26.301 info - Generating static pages (15/15)
13:37:26.302 > Build error occurred
13:37:26.304 Error: Export encountered errors on following paths:
13:37:26.304 /components/Messages/Message/Message
13:37:26.304 /components/Messages/Messages
13:37:26.304 at /vercel/workpath0/node_modules/next/dist/export/index.js:30:1103
13:37:26.304 at async /vercel/workpath0/node_modules/next/dist/build/tracer.js:1:1441
13:37:26.304 at async /vercel/workpath0/node_modules/next/dist/build/index.js:39:69
13:37:26.304 at async /vercel/workpath0/node_modules/next/dist/build/tracer.js:1:1441
13:37:26.305 at async /vercel/workpath0/node_modules/next/dist/build/index.js:21:731
13:37:26.305 at async /vercel/workpath0/node_modules/next/dist/build/tracer.js:1:1441
13:37:26.369 npm ERR! code ELIFECYCLE
13:37:26.369 npm ERR! errno 1
13:37:26.372 npm ERR! xpro3@0.1.0 build: `next build`
13:37:26.373 npm ERR! Exit status 1
13:37:26.373 npm ERR!
13:37:26.373 npm ERR! Failed at the xpro3@0.1.0 build script.
13:37:26.373 npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
13:37:26.382 npm ERR! A complete log of this run can be found in:
13:37:26.382 npm ERR! /vercel/.npm/_logs/2021-02-06T08_07_26_373Z-debug.log
13:37:26.388 Error: Command "npm run build" exited with 1
13:37:30.870 Done with "package.json"
这个错误来自'.next/server/pages/...' 意味着这个错误不是直接来自我创建的文件,而是每当我尝试制作构建文件时来自那里。
如评论中所述,在渲染 Message
组件之前,您应该检查 message
prop 不是 undefined
。
function Messages({ messages, name }) {
return (
<ScrollToBottom className={styles.messages} >
{messages
? messages.map((message, i) =>
message && (
<div key={i}>
<Message message={message} name={name} />
</div>
)
)
: null}
</ScrollToBottom>
)
}
这应该可以防止您遇到的构建时错误。
除了@juliomalves
这个错误可以通过解构传递的 PROPS 来解决,只有当它被检查过后,它是否有一些价值。或者定义与否
下面是用法。
function Message({ message, name }) {
if (!message) {
return null
}
const { text, user } = message;
.
.
.
}
如果 prop 为空则 return null else return 任何其他东西。
我一直在做一个项目,在 Vercel 上部署时卡住了,我想问题是因为预渲染。 因为它导致我的 variables/objects 未定义,我稍后会从用户那里得到。 下面是构建日志文件的屏幕截图。
请告诉我问题是什么。
如果问题出在预渲染上,那么有什么方法可以停止预渲染某些 Next.js 组件吗? 这是我得到的错误。如果有人能提供帮助,我将不胜感激 me:blush:
出现错误的组件
function Message({ message: { text, user }, name }) {
let isSentByCurrentUser = false;
console.log(text, name, user);
const trimmedName = name.trim().toLowerCase();
if (user === trimmedName) {
isSentByCurrentUser = true;
}
return (
isSentByCurrentUser
? (
<div className={[styles.messageContainer, styles.justifyEnd].join(" ")} >
<p className={[styles.sentText, styles.pr10].join(" ")} >{trimmedName}</p>
<div className={[styles.messageBox, styles.backgroundBlue].join(" ")}>
<p className={[styles.messageText, styles.colorWhite].join(" ")}>{ReactEmoji.emojify(text)}</p>
</div>
</div>
)
: (
<div className={[styles.messageContainer, styles.justifyStart].join(" ")} >
<div className={[styles.messageBox, styles.backgroundLight].join(" ")}>
<p className={[styles.messageText, styles.colorDark].join(" ")} >{ReactEmoji.emojify(text)}</p>
</div>
<p className={[styles.sentText, styles.pl10].join(" ")} >{user}</p>
</div>
)
);
}
是的,'text' 是未定义的我知道了...但是只要用户输入一些文本它就会被定义。这就是为什么我的应用程序在本地主机上运行良好的原因。 但是当我尝试部署它时,它给了我这个未定义的错误。可能是因为预渲染。
从下面的组件“消息:{文本,用户},名称”正在传递到上面的组件。
function Messages({ messages, name }) {
return (
<ScrollToBottom className={styles.messages} >
{
(messages) ? messages.map((message, i) =>
<div key={i}>
<Message message={message} name={name} />
</div>)
: "null"
}
</ScrollToBottom>
)
}
构建日志:
13:36:20.290 Cloning completed in 318ms
13:36:20.294 Analyzing source code...
13:36:20.824 Installing build runtime...
13:36:23.365 Build runtime installed: 2540.746ms
13:36:27.075 Installing dependencies...
13:36:43.528 > sharp@0.26.3 install /vercel/workpath0/node_modules/sharp
13:36:43.528 > (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)
13:36:43.730 info sharp Using cached /vercel/.npm/_libvips/libvips-8.10.0-linux-x64.tar.br
13:36:45.285 > @ampproject/toolbox-optimizer@2.7.1-alpha.0 postinstall /vercel/workpath0/node_modules/@ampproject/toolbox-optimizer
13:36:45.285 > node lib/warmup.js
13:36:45.721 Browserslist: caniuse-lite is outdated. Please run:
13:36:45.721 npx browserslist@latest --update-db
13:36:45.970 [7mAMP OPTIMIZER[0m Downloaded latest AMP runtime data.
13:36:46.337 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.1 (node_modules/fsevents):
13:36:46.337 npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.1: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
13:36:46.340 added 473 packages from 1423 contributors in 18.698s
13:36:46.608 37 packages are looking for funding
13:36:46.608 run `npm fund` for details
13:36:46.643 Running "npm run build"
13:36:46.917 > xpro3@0.1.0 build /vercel/workpath0
13:36:46.917 > next build
13:36:47.640 info - Creating an optimized production build...
13:36:47.658 Attention: Next.js now collects completely anonymous telemetry regarding usage.
13:36:47.658 This information is used to shape Next.js' roadmap and prioritize features.
13:36:47.658 You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
13:36:47.658 https://nextjs.org/telemetry
13:37:22.791 info - Compiled successfully
13:37:22.792 info - Collecting page data...
13:37:24.624 info - Generating static pages (0/15)
13:37:24.900 Unhandled error during request: TypeError: Cannot read property 'text' of undefined
13:37:24.900 at Message (/vercel/workpath0/.next/serverless/pages/components/Messages/Message/Message.js:1381:5)
13:37:24.901 at d (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:33:498)
13:37:24.901 at bb (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:36:16)
13:37:24.901 at a.b.render (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:42:43)
13:37:24.901 at a.b.read (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:41:83)
13:37:24.901 at exports.renderToString (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:52:138)
13:37:24.902 at Object.renderPage (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:851)
13:37:24.902 at Function.getInitialProps (/vercel/workpath0/.next/serverless/pages/components/Messages/Message/Message.js:630:19)
13:37:24.902 at loadGetInitialProps (/vercel/workpath0/node_modules/next/dist/next-server/lib/utils.js:5:101)
13:37:24.902 at renderToHTML (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:1142)
13:37:24.904 Error occurred prerendering page "/components/Messages/Message/Message". Read more: https://err.sh/next.js/prerender-error
13:37:24.904 TypeError: Cannot read property 'text' of undefined
13:37:24.904 at Message (/vercel/workpath0/.next/serverless/pages/components/Messages/Message/Message.js:1381:5)
13:37:24.904 at d (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:33:498)
13:37:24.905 at bb (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:36:16)
13:37:24.905 at a.b.render (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:42:43)
13:37:24.905 at a.b.read (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:41:83)
13:37:24.905 at exports.renderToString (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:52:138)
13:37:24.905 at Object.renderPage (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:851)
13:37:24.905 at Function.getInitialProps (/vercel/workpath0/.next/serverless/pages/components/Messages/Message/Message.js:630:19)
13:37:24.906 at loadGetInitialProps (/vercel/workpath0/node_modules/next/dist/next-server/lib/utils.js:5:101)
13:37:24.906 at renderToHTML (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:1142)
13:37:24.910 info - Generating static pages (3/15)
13:37:24.957 Unhandled error during request: TypeError: Cannot read property 'map' of undefined
13:37:24.958 at Messages (/vercel/workpath0/.next/serverless/pages/components/Messages/Messages.js:372:24)
13:37:24.958 at d (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:33:498)
13:37:24.958 at bb (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:36:16)
13:37:24.958 at a.b.render (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:42:43)
13:37:24.958 at a.b.read (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:41:83)
13:37:24.958 at exports.renderToString (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:52:138)
13:37:24.959 at Object.renderPage (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:851)
13:37:24.959 at Function.getInitialProps (/vercel/workpath0/.next/serverless/pages/components/Messages/Messages.js:773:19)
13:37:24.959 at loadGetInitialProps (/vercel/workpath0/node_modules/next/dist/next-server/lib/utils.js:5:101)
13:37:24.959 at renderToHTML (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:1142)
13:37:24.959 Error occurred prerendering page "/components/Messages/Messages". Read more: https://err.sh/next.js/prerender-error
13:37:24.959 TypeError: Cannot read property 'map' of undefined
13:37:24.960 at Messages (/vercel/workpath0/.next/serverless/pages/components/Messages/Messages.js:372:24)
13:37:24.960 at d (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:33:498)
13:37:24.960 at bb (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:36:16)
13:37:24.960 at a.b.render (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:42:43)
13:37:24.960 at a.b.read (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:41:83)
13:37:24.960 at exports.renderToString (/vercel/workpath0/node_modules/react-dom/cjs/react-dom-server.node.production.min.js:52:138)
13:37:24.960 at Object.renderPage (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:851)
13:37:24.960 at Function.getInitialProps (/vercel/workpath0/.next/serverless/pages/components/Messages/Messages.js:773:19)
13:37:24.961 at loadGetInitialProps (/vercel/workpath0/node_modules/next/dist/next-server/lib/utils.js:5:101)
13:37:24.961 at renderToHTML (/vercel/workpath0/node_modules/next/dist/next-server/server/render.js:54:1142)
13:37:25.062 info - Generating static pages (7/15)
13:37:25.250 info - Generating static pages (11/15)
13:37:26.301 info - Generating static pages (15/15)
13:37:26.302 > Build error occurred
13:37:26.304 Error: Export encountered errors on following paths:
13:37:26.304 /components/Messages/Message/Message
13:37:26.304 /components/Messages/Messages
13:37:26.304 at /vercel/workpath0/node_modules/next/dist/export/index.js:30:1103
13:37:26.304 at async /vercel/workpath0/node_modules/next/dist/build/tracer.js:1:1441
13:37:26.304 at async /vercel/workpath0/node_modules/next/dist/build/index.js:39:69
13:37:26.304 at async /vercel/workpath0/node_modules/next/dist/build/tracer.js:1:1441
13:37:26.305 at async /vercel/workpath0/node_modules/next/dist/build/index.js:21:731
13:37:26.305 at async /vercel/workpath0/node_modules/next/dist/build/tracer.js:1:1441
13:37:26.369 npm ERR! code ELIFECYCLE
13:37:26.369 npm ERR! errno 1
13:37:26.372 npm ERR! xpro3@0.1.0 build: `next build`
13:37:26.373 npm ERR! Exit status 1
13:37:26.373 npm ERR!
13:37:26.373 npm ERR! Failed at the xpro3@0.1.0 build script.
13:37:26.373 npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
13:37:26.382 npm ERR! A complete log of this run can be found in:
13:37:26.382 npm ERR! /vercel/.npm/_logs/2021-02-06T08_07_26_373Z-debug.log
13:37:26.388 Error: Command "npm run build" exited with 1
13:37:30.870 Done with "package.json"
这个错误来自'.next/server/pages/...' 意味着这个错误不是直接来自我创建的文件,而是每当我尝试制作构建文件时来自那里。
如评论中所述,在渲染 Message
组件之前,您应该检查 message
prop 不是 undefined
。
function Messages({ messages, name }) {
return (
<ScrollToBottom className={styles.messages} >
{messages
? messages.map((message, i) =>
message && (
<div key={i}>
<Message message={message} name={name} />
</div>
)
)
: null}
</ScrollToBottom>
)
}
这应该可以防止您遇到的构建时错误。
除了@juliomalves
这个错误可以通过解构传递的 PROPS 来解决,只有当它被检查过后,它是否有一些价值。或者定义与否 下面是用法。
function Message({ message, name }) {
if (!message) {
return null
}
const { text, user } = message;
.
.
.
}
如果 prop 为空则 return null else return 任何其他东西。