我正在try 理解RECTIVE-REDUX的CONNECT方法,以及它作为参数使用的函数.特别是mapStateToProps()个.

根据我的理解,返回值mapStateToProps将是从state派生的对象(因为它驻留在存储区中),其键将作为props 传递给目标组件(应用了组件CONNECT).

这意味着,目标组件所使用的状态可能与存储在存储中的状态具有完全不同的 struct .

问:这样可以吗

推荐答案

问:Is this ok?
A:是的.

问:Is this expected?
是的,这是预期的(如果您使用的是READECT-REDUX).

Q:Is this an anti-pattern?

它被称为"连接"组件或"使其智能化".这是设计的.

它允许您将组件与您的状态解耦一段额外的时间,从而增加代码的模块性.它还允许您将组件状态简化为应用程序状态的子集,这实际上有助于您遵守Redux模式.

这样想:一个存储应该包含应用程序的entire个状态

如果没有mapStateToProps或类似的数字,你会被诱惑以另一种方式分割你的状态来提高性能/简化.

Javascript相关问答推荐

创建1:1比例元素,以另一个元素为中心

如何解决这个未能在响应上执行json:body stream已读问题?

Cypress -使用commands.js将数据测试id串在一起失败,但在将它们串在一起时不使用命令有效

Redux查询多个数据库Api reducerPath&

从WooCommerce Checkout Country字段重新排序国家,保持国家同步

如何为我的astro页面中的相同组件自动创建不同的内容?

在服务器上放置了Create Reaction App Build之后的空白页面

在HTML语言中调用外部JavaScript文件中的函数

将基元传递给THEN处理程序

如何组合Multer上传?

使用Reaction窗体挂钩注册日历组件

MongoDB通过数字或字符串过滤列表

如何在TransformControls模式下只保留箭头进行翻译?

我无法在Api Reaction本机上发出GET请求

P5play SecurityError:无法从';窗口';读取命名属性';Add';:阻止具有源的帧访问跨源帧

如何在移动设备中使用JAVASSCRIPT移除点击时的焦点/悬停状态

重新渲染过多(&Q).REACT限制渲染次数以防止无限循环.使用REACT下拉菜单时

使用props 将VUE 3组件导入JS文件

如何将对象推送到firestore数组?

AstroJS混合模式服务器终结点返回404