wuming-lzd

Results 3 comments of wuming-lzd

@hujiulong 非常感谢博主的文章,写的非常好, 但是我有一个疑问, renderQueue 这个变量仅仅是用来保存 当前组件component 的,在自定义组件中调用setState()的时候,始终传入的都是当前组件吧, `setState(stateChange, callback) { enqueueSetState(stateChange, this); //this始终都是 component }` 并且这个数组的长度始终都是1吧,我看代码中,每次都是进行了过滤, `if (!renderQueue.some(item => item === component)) { renderQueue.push(component); }` 要想要在flush中使用的话,在enqueueSetState调用flush的时候,直接传入flush不就可以了,为啥非要使用一个数组来保存呢? ` export function enqueueSetState(stateChange,...

> @Qingchundejiaobu 并不是每个组件都会有一个renderQueue,只有一个全局的renderQueue 哦,明白了,我理解错了;非常感谢; 不知道博主会不会写react源码系列

@cyhwinner > ```js > while(position < arguments.length) args.push(arguments[position++]); > ``` > > 直接换成 下面这样会不会好点 > > ```js > if(position < arguments.length) args = args.concat([].slice.call(arguments, position)); > ``` 不一样吧,原文的意思是:将arguments[position]这个值放入到args中;你改后的意思是:将arguments从position位置截取到数组最后一项的所有值放入到args中;原文放入了一个值,你放入了从position位置到最后一个位置的好几个值