正常, 相当于你已经在更细粒度的组件内进行重复渲染了,对其他不需要渲染的部分影响更小了
TodoList除了TodoView、TodoFooter以外,还有TodoHeader,而TodoItem组件组成了TodoView组件,所以TodoList组件渲染和TodoView组件渲染是有本质区别的。TodoList组件相当于一个容器组件,它的渲染是整个大组件的渲染,TodoView的渲染只是其中一个部分的渲染。
在这里区别可能不明显,主要是因为这个项目太小了,如果是大型前端项目,一个小组件的改变引起整个大组件的渲染,渲染效率是会打很大折扣的。这也不符合React组件化的初衷。