
获得徽章 7
- React前端状态管理心得
1. 没有银弹,redux也好,mobx也好,react-easy-state也好,能力加强的同时,学习成本,浏览器兼容成本也加大
2. 绝大大数页面的状态理清后,其实也想象中不那么复杂,首要的应该是注意以下几点:
(1)尽可能减少所需的状态(哪些才是真正需要的),很多数据了包含多维度的状态,不要制造状态(混乱),真正重要的是数据,而非状态。深入理解,吃透你的数据。
(2)哪些是计算属性,计算属性(仅get,非set)尤其要提出来,不应该set的一定不要set的,逻辑上可能是同样的状态,但搞好两个状态,并同时去set,会导致真实世界混乱。
3. 组件拆分、属性的传递的逻辑性、正确性和清晰性也是状态管理的一部分,而且其重要性丝毫不亚于纯数据的状态。
(1)正确决定组件的从属关系,并尽量减少不必要的组件。(如同节约dom标签一样)
(2)在上面的前提下,属性的传递可以尽量控制在不要超过2层,这样props的数据流向也一目了解
(3)在jsx里,属性传递的写法应采取始终解构的写法,这样最接近函数参数传递的感觉,如:
<BtnGroup$ {...{ pageTitle, survey }} />
const BtnGroup$ = ({ pageTitle, survey }) => {})
(4)计算属性应尽量由上级组件传给下级,从而使尽可能多的组件成为仅接受props并渲染的纯函数组件。
(5)函数属性传递时有意义的命名至关重要。
4. 勿过度追求完美,尤其是在UI与交互上(最难处理的是动画),要做到完美,需要极其复杂的状态管理,应先有一些效果,在保证不至于把状态搞得一团糟,在完全想清楚了数据的逻辑后,逐步加强。
5. react-global-state-hook的非reducer的用法,细粒度的get、set其实基本够用,尤其对状态变化的跟踪(从代码层面跟踪,选中所有get或set)比redux并不差。
6. 一个应用程序,最最核心的,最最复杂的逻辑,就那么几个,绝不会多,所以对这部分页面代码一定要精益求精,逻辑、结构一定要优雅如水。展开316 - 不匿名了 坐标杭州滨江 上午在公司把项目经理骂了 来公司五个月 三个月996 两个月997 所有的需求都是看甲方的需求文档自己想象 原型图自己画 他本人大多数内容完全不会 问就是这个这么简单随便搞搞就出来了 你做不出来就是效率低 锅早就甩好 平时不能有一点反对意见 有就找理由搞你绩效 直接归零 扣工资百分之十 跟总监去打小报告说你态度不端正 效率低之类的或者直接当你面说别的同事不好想搞他来敲打你 这是研发环境。
公司997,周末加班一天160,节假日基本都要抽出两天让来加班,强制来,年底再结算加班工资,年终奖按在公司工作月份算,以及项目经理打分,年底只发一半,5月份再发另外一半。这是公司环境。
早晨来的时候跟我做同一个项目的同事后台接口出了问题,我正在调这个接口就问他是不是字段修改了,经理直接凶我上班不要讨论,自己做。怒发冲冠,不想忍了,当着另外几个同事的面拍桌子把他给骂了,没说脏话,就说他能力不行,各种推卸责任之类的,大事小事都吼了出来,后来被同事拉开了。
过了1个小时后单独找我谈话,绕了一堆就是他没错,是我工作模式不对,他对事不对人没有针对我只是态度不好而已,问我怎么想的是继续干还是离开,话里暗示了如果继续这样年底考核评分会很低,我工作模式不适合公司,问他具体哪里不适合又说不上来,我明确表示了,继续干如果他依然针对我,我还是会怼他。如果离开,我肯定要补偿,不会主动离职。他让我先稳住好好干,有困难可以提出来,他都理解之类的,看起来和和气气,什么都没发生过一样。
中午同事跟我讲 经理私下表示在找人替换掉我,像个阴阳人一样。这个月绩效已经没了 年底考核肯定也是低分 年终奖也没多少钱 肯定还会继续针对我 又要变本加厉的跟上一级领导说我坏话,而且会想办法不给我辞退补偿。
我向来以最大的努力去对待工作,以最大的善意与人相处,却要被恶人
欺辱,那就鱼死网破吧,谁都不要快活。展开15670 - 推介一个骚到爆炸的 Loading 效果库 Loading.io
loading.io
Loading 的图形、颜色、转动速度、尺寸等等都可以自定义,并且还提供了很多预设的好玩的动画,比如购物车动画、小飞机动画、电池动画等等,强烈推介!14177 - 现在插画风格的界面越来越多,网上提供的免费插图也越来越丰富。花时间整理了当前全网那些优秀的10个免费插图网站,不管是做App还是网站都可能会用到,给做产品的人们节省点查找的时间,建议收藏以备后用。这些站点的素材都是免费下载可用的,而且可以免费商用。详情请看下文:
liujinkai.com
11201