MaterialUI withStyles: Недопустимый подпор `component` типа` object` передан в `Route`, ожидаемая` функция` - PullRequest
2 голосов
/ 07 ноября 2019

Я получаю это Предупреждение , когда пытаюсь использовать компонент, который экспортируется с использованием функции material-ui withStyles, например:

export default withStyles(styles)(MyComponent)

, а затем передаюэто в ReactRouter вот так:

import MyComponentfrom './MyComponent'
<Route path="/my-component" component={MyComponent} />

Компонент отображается так, как ожидалось, и работает нормально, но предупреждение меня беспокоит.

Может кто-нибудь объяснить, почему я это получаю?

Обновление 1 (добавлено предупреждение): Warning

1 Ответ

0 голосов
/ 07 ноября 2019

Я подозреваю, что вы используете версию 4.3.1 или более раннюю версию реакции-маршрутизатора.

Используется component: PropTypes.func в Маршрут .

С введением React.forwardRef (который интенсивно используется в Material-UI v4) и другие функции, представленные в React 16.8 (перехватчики), возможно иметь тип компонента, который не является функцией.

Начиная с версии 4.4 реакции-router, вместо этого он использует isValidElementType . Это правильно распознает типы компонентов, возвращаемые forwardRef и другими методами.

Связанный ответ: Я получаю сообщение об ошибке после обновления до Material UI 4 - withStyles

...