Я создал простой магазин с простым редуктором.Тогда у меня есть store = createStore(rootReducer)
.Все очень просто.Теперь я хочу просто подключить этот компонент следующим образом.
import React from 'react';
import { connect } from 'react-redux';
import Text from './Text';
const User = ({ name, surname }) => (
<div className='user'>
<Text name={name} surname={surname} />
</div>
);
const mapStateToProps = state => {
return {
name: state.name,
surname: state.surname
};
};
const Connected = connect(mapStateToProps)(User);
export default Connected;
Но я продолжаю получать сообщение об ошибке:
Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
Я действительно понятия не имею, что я делаю неправильно.единственное, что родительский компонент выглядит так:
<Parent>{this.props.children}</Parent>
Где потомки будут моим подключенным компонентом.Ничего плохого или нового здесь, но сводит меня с ума, есть идеи?Я обновил до React: 16.8 и React-redux 7.0
Спасибо
Редактировать: все будет более странно, если я экспортирую компонент без подключения
export default Titles
Тогда это работает!!Понятия не имею, что я делаю не так.
Если я просто экспортирую компонент, такой как export default User
, он будет работать, и если я сделаю typeof User, я получу функцию.Если я экспортирую с помощью connect Connected = connect()(User)
, то произойдет сбой, и тип Connected будет Symbol.react.memo. Я знаю, что это глупость, но это действительно сводит меня с ума.Пожалуйста помоги!: D
РЕДАКТИРОВАТЬ: Хорошо, все еще схожу с ума xD Я вижу, что компонент, экспортированный с помощью connect () (Comp) не работает, но если я использую Connected = connect () (Comp), а затем в JSX Iсделать это работает!Что ... я не так делаю?