【发布时间】:2021-10-03 04:43:52
【问题描述】:
我的 UI 崩溃并出现以下错误:
TypeError: Cannot read property 'filter' of undefined
at v (helper.js:16)
at i (lodash.min.js:9)
at t (lodash.min.js:59)
at value (CheckAll.js:15)
这是 helper.js 代码的 sn-p:
export const updatedChecked = (items, checked) => items.map(item => ({ ...item, checked }));
export const filterChecked = (items, checked) => items.filter(item => item.checked === checked);
export const moveAtTheTop = (items, itemIds) => pureReverse(itemIds).reduce((acc, v) => {
const toCutIndex = acc.findIndex(item => item.id === v);
const toCut = acc.splice(toCutIndex, 1)[0];
toCut.checked = true;
acc.unshift(toCut);
return acc;
}, updateChecked(items, false));
export const normalizeSrcItems = items => filterChecked(items, true).map(item => item.id);
【问题讨论】:
-
你在哪里打电话给
normalizeSrcItems,你给它传递了什么? -
您需要弄清楚为什么
items未定义。你可以用很多不同的方式来修补它,比如normalizeSrcItems中的默认itemsarg 为[]或items?.filter(...)etc,但这实际上取决于在你的应用程序中,items未定义是否有效,如果它是有效的,你需要对项目进行无效检查(if (items)等),或者如果它不是一个有效的场景,那么你的代码中有一个错误,items是undefined,而它不应该是
标签: javascript reactjs frontend typeerror