Восстановить HOC, не отображающий дочерний компонент

Так что я надеюсь, что мне здесь не хватает чего-то простого.

Я пытаюсь интегрировать перекомпоновку, чтобы я мог переместить несколько функциональных фрагментов кода из моего рендеринга (тупого) компонента в мой HOC.

Следующий HOC не отображает его дочерний (MainReduxForm) компонент. Что мне не хватает?

import { connect } from 'react-redux';
import MainReduxForm from './MainForm';
import { formValueSelector } from 'redux-form';
import { compose, lifecycle } from 'recompose';  

export default () => MainFormContainer => {

const mapState = (state, ownProps) => {
  return {
    test: test
  };
};


const mapDispatch = (dispatch, ownProps) => {
    return {
      onOrderChange: order => dispatch({type: 'FETCH_ORDER', order: order}),
    }
}



 return compose(
  connect(mapState, mapDispatch)
  (MainReduxForm));

ОШИБКА =

Функции недействительны в качестве дочерних React. Это может произойти, если вы вернете компонент вместо отрисовки. Или, может быть, вы хотели вызвать эту функцию, а не вернуть ее.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
473
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
return compose(
  connect(mapState, mapDispatch)
  (MainReduxForm));

Вызов connect () возвращает функцию, которую следует вызывать с компонентами. Затем compose должен вызвать то, что от него возвращается.

Спасибо, Субин, к сожалению, он все еще не отображает дочерний компонент. Есть ли другие мысли о том, что мне может не хватать? Я обновил Вопрос по вашей рекомендации, поскольку это, очевидно, была одна из ошибок.

Shawn Matthews 30.03.2018 05:03

Также добавил ошибку из консоли. Извини, что хотел сделать это в первый раз.

Shawn Matthews 30.03.2018 05:11

Вы можете опубликовать весь файл. Похоже, вы экспортируете другую вещь export default () => MainFormContainer => { вместо того, чтобы возвращать расширенный компонент, вы можете попробовать экспортировать его

Subin Sebastian 30.03.2018 09:26
export default compose( connect(mapState, mapDispatch) (MainReduxForm));
Subin Sebastian 30.03.2018 09:26

Спасибо, что у меня была опечатка в моем экспорте.

Shawn Matthews 30.03.2018 15:05

Другие вопросы по теме