dav url prams与组件挂载的集几种解决方案

最近二个礼拜接触了dva,使用dva快速地实现了一个管理平台,用到的技术是基于dva+antd+webpack。不得不说,dva对于react,redux系列的封装真的挺妙的,使用起来很是方便。而结合antd使得组织界面很是的快,antd的各类组件还得基本全部的控件都不用本身再花心思造轮子。可是遇到了一个比较棘手的问题,是同一个菜单不一样标签的状况,由于同一个菜单的url pathman是同样的,不一样的是url search是不一样的,可是react-reouter是对应的router组件是识别到url pathman的。react

全局key

若是要让router对应到search,基于不一样的search,就能够从新挂载组件,可是这个是全局的key,侵入性太强。可是能够实现咱们但愿的不一样url search 从新挂载组件。可是放入系统中,基于系统的设计,左侧菜单栏下面有2个tab,tab 2是咱们的保存标签页面,点击了标签页面,是能够从新挂载,可是由于从新挂载了全局的touter,因此致使sidermenu从新挂载,菜单就跳回到菜单tab,这并非咱们想要的结果。并且自己这种key的设置基于全局,侵入性特别的强,性能上也是下下之选。webpack

组件加key

普通的component加可key,既能够标识该组件的惟一性,在diff的时候,会根据其key是否一致来决定是否从新挂载,key只要在其同级层级是惟一性就能够,不要求全局惟一性(基于diff算法是同级对比策略)。web

结合的redux的组件的key设置

结合了redux的组件,redux管理数据经过connnct挂载到react component上。算法

相关文章
相关标签/搜索