React 应用程序在本地构建没有问题,但在 Heroku 上崩溃
React app builds locally without issue, but crashes on Heroku
我构建了一个 React / Express 应用程序,它在我的本地机器上运行得很好。 API 全部连接起来,Heroku 识别所有这些,但是当 Heroku 尝试将对象数组映射到 React 组件时,它会失败并出现以下非常无用的错误:
TypeError: d is null
h NoteList.jsx:130
React 8
ai
Bi
$l
Ou
xu
Su
vu
Qa
unstable_runWithPriority scheduler.production.min.js:18
React 5
Va
Qa
$a
fu
Ni
e NoteList.jsx:21
s runtime.js:63
_invoke runtime.js:293
E runtime.js:118
Babel 2
我尝试了几种解决方案,但似乎都没有用。
回购是 here, the app is live on Heroku。
麻烦的一段代码好像在client/src/Components/NoteList.jsx中。它通过 localforage 从本地存储中获取笔记,如下所示:
const getLocalNotes = async () => {
try {
setLoading(true)
const notes = await localforage.getItem("notes");
setLoading(false);
setNoteList(notes);
} catch (error) {
console.error(error);
}
}
...稍后似乎在第 130 行抛出错误:
{ loading ? <p>Loading</p> :
<div id="note-list">
{noteList.map(note =>
<Note
key={note.id}
id={note.id}
text={note.text}
deleteNote={deleteNote}
editNote={editNote} />
)}
</div>
}
我对所有这些都很陌生——这个应用程序是全栈开发人员课程的最后一个项目——如果我错过了一些明显的东西,我深表歉意。
您可以添加一个 &&
条件,因为您的 noteList
即将到来 undefined
,然后您在其上应用 map()
,导致错误 -
错误 - Cannot read property 'map' of null
修正-
{noteList && noteList.map(x => <your code>)}
我构建了一个 React / Express 应用程序,它在我的本地机器上运行得很好。 API 全部连接起来,Heroku 识别所有这些,但是当 Heroku 尝试将对象数组映射到 React 组件时,它会失败并出现以下非常无用的错误:
TypeError: d is null
h NoteList.jsx:130
React 8
ai
Bi
$l
Ou
xu
Su
vu
Qa
unstable_runWithPriority scheduler.production.min.js:18
React 5
Va
Qa
$a
fu
Ni
e NoteList.jsx:21
s runtime.js:63
_invoke runtime.js:293
E runtime.js:118
Babel 2
我尝试了几种解决方案,但似乎都没有用。
回购是 here, the app is live on Heroku。
麻烦的一段代码好像在client/src/Components/NoteList.jsx中。它通过 localforage 从本地存储中获取笔记,如下所示:
const getLocalNotes = async () => {
try {
setLoading(true)
const notes = await localforage.getItem("notes");
setLoading(false);
setNoteList(notes);
} catch (error) {
console.error(error);
}
}
...稍后似乎在第 130 行抛出错误:
{ loading ? <p>Loading</p> :
<div id="note-list">
{noteList.map(note =>
<Note
key={note.id}
id={note.id}
text={note.text}
deleteNote={deleteNote}
editNote={editNote} />
)}
</div>
}
我对所有这些都很陌生——这个应用程序是全栈开发人员课程的最后一个项目——如果我错过了一些明显的东西,我深表歉意。
您可以添加一个 &&
条件,因为您的 noteList
即将到来 undefined
,然后您在其上应用 map()
,导致错误 -
错误 - Cannot read property 'map' of null
修正-
{noteList && noteList.map(x => <your code>)}