【发布时间】:2020-06-26 14:43:32
【问题描述】:
也许我没有正确理解这些概念。我通常在示例中看到一个Counter 类,然后是mapStateToProps 和mapDispatchToProps,然后使用connect 创建“高阶组件”并将其导出为默认值。
我想知道我们如何重用这个Counter 组件?
例如:
- 如果我们需要在同一页面上有两个
Counter实例 - 如果我们需要第 2 页上的
Counter,并且它应该与另一个 redux 状态相关(不是我们在该原始文件中定义的那个)
然后我恍然大悟:在实践中,我们实际上可能只定义mapStateToProps、mapDispatchToProps 和connect 而没有所有这些IceCreamCounter.js,然后我们将首先创建IceCreamCounter.js @ 987654333@(普通计数器)并把所有的mapStateToProps、mapDispatchToProps 和connect 做成一个 HOC 并导出?
如果同一个页面需要另一个计数器,那么我们使用mapStateToProps、mapDispatchToProps和connect,例如DrinkCounter.js,并对redux存储进行适当的映射。
同样,如果它是“To Go Order”页面,并且我们需要一个计数器来计算所需勺子的数量,那么我们实际上将有 mapStateToProps、mapDispatchToProps 和 connect 并创建一个 @987654344 @:
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;
这就是我们实现组件重用的方式?
我想知道为什么我以前没有看到这是如何完成的……它实际上在一些官方文档或博客中进行了解释吗?
【问题讨论】:
标签: reactjs redux react-redux code-reuse