Может быть, я не понял концепции правильно. Обычно я вижу в примерах класс Counter
, затем mapStateToProps
и mapDispatchToProps
, а затем с помощью connect
создайте «Компонент высшего порядка» и экспортируйте его в качестве значения по умолчанию.
Интересно, как мы можем повторно использовать этот Counter
компонент?
Например:
- Если нам нужно два экземпляра
Counter
на одной странице - Если нам нужно
Counter
на странице 2, и оно должно быть связано с другим состоянием редукции (а не с тем, которое мы определили в этом исходном файле)
И тогда меня осенило: оно кажется в На практике мы можем просто определить Counter.js
без всех этих mapStateToProps
, mapDispatchToProps
и connect
, а затем мы создадим IceCreamCounter.js
, который сначала import Counter
(простой счетчик), и выполнит все mapStateToProps
, mapDispatchToProps
и connect
, чтобы превратить его в один HO C и экспортировать его?
И затем, если той же странице нужен другой счетчик, мы используем mapStateToProps
, mapDispatchToProps
, и connect
в, например, DrinkCounter.js
и выполните соответствующие сопоставления с хранилищем редуксов.
Аналогично, если это страница "Кому" Go Порядок ", и нам нужен счетчик для количества необходимых ложек, тогда у нас фактически будет mapStateToProps
, mapDispatchToProps
и connect
и мы создадим SpoonCounter.js
:
import { connect } from 'react-redux';
import Counter from './Counter'; // the plain counter component
const mapStateToProps = ...;
const mapDispatchToProps = ...;
const SpoonCounter = connect(mapStateToProps, mapDispatchToProps)(Counter);
export default SpoonCounter;
, и вот как мы добиваемся повторное использование компонента?
Интересно, почему я не видел, как это делается раньше ... это действительно объясняется в некоторых официальных документах или блогах?