美文网首页
react-pureRender原理

react-pureRender原理

作者: 木中木 | 来源:发表于2019-11-09 19:21 被阅读0次

    我们知道可以通过shouldComponentUpdate来实现性能优化,让当前props和state做对比,进行浅比较,在理想情况下,我们可以通过深比较来处理,但是这种比较太昂贵了。

            shouldComponentUpdate(nextProps, nextState) {
                return isDeepStrictEqual(this.props, nextProps) && isDeepStrictEqual(this.state, nextState)
            }
    

    pureRender只是对Object的key进行对比,并没有作值对比

              function shouldEqual (obj, newObj) {
                if (obj === newObj) {
                    return true;
                }
                const objKeys = Object.keys(obj);
                const newObjKeys = Object.keys(newObj);
    
                if (objKeys.length !== newObjKeys.length) {
                    return false;
                }
                return objKeys.every((key) => newObjKeys[key] === objKeys[key]);
            }
    

    相关文章

      网友评论

          本文标题:react-pureRender原理

          本文链接:https://www.haomeiwen.com/subject/aayjbctx.html