0

所以我希望我在这里遗漏了一些简单的东西。

我正在尝试集成 recompose,以便我可以将一些功能性代码从我的渲染(哑)组件中移到我的 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 子级无效。如果您返回一个组件而不是从渲染中返回,则可能会发生这种情况。或者,也许您打算调用此函数而不是返回它。

4

1 回答 1

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

connect() 调用返回一个函数,该函数应与组件一起调用。然后 compose 应该调用它返回的内容。

于 2018-03-30T02:47:25.553 回答