Я использую эти библиотеки:
react: 16.8.6
redux: 4.0.1
react-redux: 7.0.3
У меня есть простой компонент (Typescript):
import ...;
import { connect } from 'react-redux';
class ExampleComponent extends React.PureComponent<IProps, {}> {
constructor(props: any) {
super(props);
}
public render() {
return (
<div>
{this.props.name}
</div>
);
}
}
interface IProps{
name: string;
}
const mapStateToProps = (state) => {
return {
name: state.name
};
}
export default connect(mapStateToProps)(ExampleComponent);
И у меня есть родительский компонент:
import ExampleComponent from './ExampleComponent';
export default class App extends React.PureComponent<{}, {}> {
constructor(props: any) {
super(props);
}
public render() {
return (
<div>
<ExampleComponent />
</div>
);
}
}
По какой-то причине connect(mapStateToProps)(ExampleComponent)
возвращает объект вместо компонента React.
Я получаю сообщение об ошибке:
Uncaught Ошибка: Инвариантное Нарушение: Неверный тип элемента: ожидается
строка (для встроенных компонентов) или класс / функция, но получили: object
![enter image description here](https://i.stack.imgur.com/s9JTZ.png)
Также, когда я пытаюсь сделать console.info(typeof connect(mapStateToProps)(ExampleComponent))
, он печатает только object
на консоль.
Как я могу решить эту проблему?