重构HOC不显示子组件

时间:2018-03-30 02:37:23

标签: reactjs redux redux-form 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子函数无效。如果返回Component而不是render,则可能会发生这种情况。或许你打算调用这个函数而不是返回它。

1 个答案:

答案 0 :(得分:1)

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

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