Ваше решение должно работать (я не пробовал копировать, вот так), но вы также должны обновить react-redux
до последней версии.
Кстати, я думаю, что правильная реализацияReact.memo
во многих HOC будет самым близким к самому компоненту: цель React.memo
состоит в том, чтобы проверить, все ли новые реквизиты, полученные компонентом, совпадают с последними реквизитами.Если какой-либо HOC преобразует или добавляет какие-либо реквизиты к компоненту - что connect
делает путем сопоставления хранилища Redux с реквизитами, React.memo
должен знать об этом, чтобы принять решение, обновлять ли компонент или нет.
Так что я бы пошел на что-то вроде этого:
//import what you need to import
const Component = props => <div>{/* do what you need to do here */}</div>
export default compose(
connect(mapStateToProps, dispatchToProps),
/* any other HOC*/
React.memo
)(Component);