所以我希望我在这里错过一些简单的东西。
我正在尝试整合重构,这样我就可以将一些功能代码从我的渲染(哑)组件移到我的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,则可能会发生这种情况。或许你打算调用这个函数而不是返回它。
答案 0 :(得分:1)
return compose(
connect(mapState, mapDispatch)
(MainReduxForm));
connect()调用返回一个函数,该函数应该使用组件调用。然后compose应该调用从它返回的内容。