总结10月10号上线的代码
- componentWillReceiveProps生命周期,只要有新props传入时都会执行下面的操作,这里需要注意一个问题,就是只要有新的(render,content,组件更新,都会有新的pros)props,componentWillReceiveProps就会调用,尽管新的props与原来的props是一样的,它也会执行。也就是说,componentWillReceiveProps的触发时机是:父组件render结果发生变化,即当前组件需要render,context发生变化,这样一来也会出现死循环的情况,函数内改变了pros的值就会出现死循环,还有就是如果props的值是相同的,就没有必要进行额外的渲染了,所以在使用时需要比较pros的值与nextprops的操作是否一致,再来决定如何操作。不要直接将nextprops的值直接赋值给pros, 因为业务中,有些是需要用到旧 props的,如果一替换就都是新的了,需要视业务而定。(金果发现并提出)
2.在进行数据回填的时候,直接在构造函数中将初始化的值用参数赋值了,这样是极其不安全的,有可能这个字段不存在(从不同入口进来,有的这个字段存在有的不存在),那么此时页面就会报错,页面空白,在吃饭的时候就被打电话,说线上故障,页面打不开,空白,所以在赋值的时候,一定要进行容错处理,判断有该字段才能进入下一步进行操作,容错操作相当有必要,不然线上就直接打不开了。(线上故障,严重)