我会尝试简洁:我有一个过滤视图(容器),它将网格组件等哑组件与结果组合在一起,表单组件包含一些字段和操作,如提交。在这种情况下,存在一些疑问: - 如果我有一个组件(例如下拉列表),它有自己的数据(某个列表),它应该负责获取自己的数据还是应该委托给它的智能父级(过滤视图)? - 这个智能过滤器视图有许多值得注意的哑组件,因此,它是否负责传播这些组件所需的所有操作(例如:handleSearchClick,handleGridRowClick等)?
如果是这样,那应该是最终结构:
我希望我已经很好地解释了我的意思。
提前致谢。
答案 0 :(得分:0)
蓬松的问题得到了蓬松的答案。
对如何找到智能/转储组件的甜点没有真正的共识。有很多关于它的博客文章,甚至React文档对这个概念都很模糊。假设你使用像Redux这样的东西,我会说,不要害怕连接你的“更深层”组件。尝试使用更简单,更清晰的代码,这些代码在理解和推理方面是有意义的,而不是在这里遵循一些精确的科学。
在我目前的项目中,如果我们之前遵循“从上到下传递所有数据”,我们现在已经切换到将较低的组件直接连接到需要它们的商店和操作。这感觉好多了,对我们来说效果很好。 我们的问题以及我们切换的原因在Redux回购的Recommended usage of connect()问题中得到了很好的描述。
使用Redux及其连接组件,没有更频繁地连接到该状态的实际成本,因此基本上由您和您的遗产决定。
即使您没有使用Redux,我也相信这些博文和问题可以为您提供帮助。