我正在使用react admin和API Platform admin,我无法弄清楚为什么我在生产中得到这个错误而不是在本地docker环境中:
react-dom.production.min.js:3282
TypeError: Cannot read property 'filter' of undefined
at l (fieldFactory.js:21)
at p (List.js:83)
at beginWork (react-dom.production.min.js:2902)
at o (react-dom.production.min.js:4051)
at a (react-dom.production.min.js:4068)
at x (react-dom.production.min.js:4296)
at w (react-dom.production.min.js:4263)
at b (react-dom.production.min.js:4254)
at interactiveUpdates (react-dom.production.min.js:4563)
at xn (react-dom.production.min.js:1684)
我正在使用demo example并且不知道哪个元素导致了这个问题:有没有办法知道哪个元素导致错误?
事实证明错误是我错误地提供自定义路线,如in the demo所示,然后使用API平台的authentication example来设置这些自定义路线:
switch (result.status) {
case 401:
return Promise.resolve({
api: result.api,
customRoutes: [{
props: {
path: '/',
render: () => <Redirect to={`/login`}/>,
},
}],
});
default:
return Promise.reject(result);
}
...
<HydraAdmin
title=""
dataProvider={dataProvider}
customReducers={{ theme: themeReducer }}
customSagas={sagas}
customRoutes={customRoutes}
authProvider={authProvider}
dashboard={Dashboard}
loginPage={Login}
appLayout={Layout}
menu={Menu}
locale="en"
i18nProvider={i18nProvider}
>
...
提供错误的API平台路由会导致错误。所以我通过删除自定义路由修复了它:customRoutes={customRoutes}