Версия 5.0.7 и более ранние версии response-redux выполнили следующую проверку для компонента, переданного connect
:
https://github.com/reduxjs/react-redux/blob/v5.0.7/src/components/connectAdvanced.js#L91
invariant(
typeof WrappedComponent == 'function',
`You must pass a component to the function returned by ` +
`${methodName}. Instead received ${JSON.stringify(WrappedComponent)}`
)
С введением React.forwardRef
(который интенсивно используется в Material-UI v4) и другими функциями, представленными в React 16.8 (зацепки), можно иметь тип компонента, который не a функция.
В более поздних версиях response-redux вместо этого используется isValidElementType из пакета react-is
. Это правильно распознает типы компонентов, возвращаемые forwardRef
и другими методами.
Я полагаю, что версии 5.1 и более поздние версии response-redux должны работать нормально, не вызывая ошибочную ошибку, упомянутую в вопросе.