Прежде всего, вам не обязательно нужна функция connect
, если вы уже предоставляете данные, передавая их как реквизит энхансеру. В этом случае вы также можете использовать библиотеку recompose
для применения логики к данным. Однако в большинстве случаев вам все еще нужно отправлять действия, так что функция connect
из react-redux
все равно будет необходима.
Когда реквизиты передаются компоненту, обернутому функцией connect
, они не передаются автоматически. Чтобы сделать эти реквизиты доступными для обернутого компонента, необходимо сопоставить их со вторым аргументом в функции mapStateToProps
.
Review.enhancer.js
const mapStateToProps = (state, ownProps) => {
return {
review: ownProps.review,
};
};
export default connect(mapStateToProps, null)(Review);
Теперь только заверенная версия передается обернутому компоненту. Однако вам следует избегать этого, поскольку он связывает энхансер с компонентом контейнера.
Обратите внимание, что если вы хотите передать все реквизит завернутым
компонент, вы можете опустить скобки от стрелки
функция и использовать неявный возврат.