@dollar1610

Правильно ли я написал redux HOC?

Решил, попробовать написать redux HOC, но видимо я как-то не правильно коннекчусь к store.
Код HOCa такой
import React from 'react';
import { connect } from 'react-redux';
import { compose } from 'redux';

const ProductsAndCustomers = Component => (
  class extends React.Component {
  // методы
    render() {
      return <Component/>;
    }
  }
)

const mapStateToProps = state => {
    return {
      ProductsAndCustomers: state
    }
}

const mapDispatchToProps = dispatch => {
  return {
    onRequestProducts: () => dispatch()
  };
}

// export default connect(
//   mapStateToProps,
//   mapDispatchToProps,
// )(ProductsAndCustomers);
// Пробовал таким образом, но видимо из-за того, что ProductsAndCustomer, не class, он ругается
const composeProductsAndCustomers = compose(
  connect(mapDispatchToProps, mapStateToProps),
  ProductsAndCustomers
);

export default composeProductsAndCustomers;
  • Вопрос задан
  • 115 просмотров
Пригласить эксперта
Ответы на вопрос 1
@davidnum95
const withProductsAndCustomers = Component => {
 class ProductsAndCustomers extends React.Component {
  // методы
    render() {
      return <Component {...this.props}/>;
    }
  }
  return connect(mapStateToProps, mapDispatchToProps)(ProductsAndCustomers);
}

const mapStateToProps = state => {
    return {
      ProductsAndCustomers: state
    }
}

const mapDispatchToProps = dispatch => {
  return {
    onRequestProducts: () => dispatch()
  };
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы