React admin: Невозможно прочитать свойство filter из undefined - PullRequest
0 голосов
/ 21 февраля 2019

Я использую реагирующий администратор вместе с Администратором API-платформы , и я не мог понять, почему я получаю эту ошибку на производстве, а не в локальной среде докера:

enter image description here

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)

Я использую демонстрационный пример и не знаю, какой элемент вызывает эту проблему: есть ли способузнать, какой элемент отвечает за ошибку?

1 Ответ

0 голосов
/ 21 февраля 2019

Оказалось, что ошибка была в том, что я неправильно предоставил пользовательские маршруты, как показано в демо , а затем использовал пример аутентификации платформы API для установки этих пользовательских маршрутов:

            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}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...