React16版本中render阶段放弃了使用递归 在16之前的版本中采用递归执行。递归耗内存,它使用 JavaScript 自身的执行栈,更新一旦开始,中途就无法中断。程序就会一直占用线程,又因为js是单线程语言,导致在递归时,如果发生用户交互行为,页面将无法相应用户行为,造成用户体验上的卡顿在React16中(使用fiber架构可拆分,可中断任务),使用循环代替递归,当页面发生用户交互行为,循环可以被打断,优先执行用户交互行为,大大提升了用户体验。被打断的循环可以再次执行,以完成程序的运行。