javascript - 理解React-Redux和mapStateToProps()

我试图理解react redux的connect方法,以及它作为参数的函数。尤其是mapStateToProps()
据我所知,mapStateToProps的返回值将是一个从状态派生的对象(当它在存储中时),其键将作为道具传递给目标组件(组件连接应用于)。
这意味着,目标组件所消耗的状态与存储在您的存储区中的状态有着截然不同的结构。
问:这样可以吗?
问:这是预期的吗?
问:这是反模式吗?


最佳答案:

问:Is this ok?
是的,是的
问:Is this expected?
是的,这是预期的(如果您使用的是React Redux)。
问:Is this an anti-pattern?
不,这不是反模式。
它被称为“连接”组件或“使其智能化”。这是按设计的。
它允许您将组件与状态分离一段额外的时间,这将增加代码的模块性。它还允许您将组件状态简化为应用程序状态的一个子集,这实际上有助于您遵守redux模式。
这样考虑:存储应该包含应用程序的整个状态。
对于大型应用程序,这可能包含数十个嵌套多层的属性。
你不想每次打电话都这么做(很贵)。
如果不使用mapStateToProps或类似的方法,您可能会尝试分割状态以提高性能/简化。