functional component VS stateless component

来源:4-3 props,state 与 render 函数的关系

ywang04

2018-07-20

在这节课里 老师讲了如果state或者props发生改变 render方法就会被重新执行一次以及当父组件的render函数被执行时 子组件的render函数也会被重新执行一次。对这两句话,我有以下几个问题:

  1. 如果props发生改变 而子组件如果是一个functional component,子组件虽然接受到了变化的props 但因为它是functional component 只有return方法没有render方法 那么该子组件是不是就不会被重新渲染?如果没有重新渲染, 这样是否性能会提升?

  2. 假设子组件是functional component 只有return方法没有render方法, 那么当父组件的render函数被执行,而没有render方法的子组件还会被重新渲染一次吗?

  3. 经常看到有些文章会提到functional component 和 stateless component 请问老师这两者的区别是什么?还是两者其实是相同的意思?

如果理解有错误,麻烦老师指正。 谢谢

写回答

2回答

Dell

2018-07-20

  1. 会渲染,函数会重新执行一次。

  2. 我没懂,无状态组件根本不可能有render方法啊,他返回的内容就是要渲染的内容,和问题一一样吧。

  3. 还是有区别的,我觉得 functional component 和 stateless component还有一点差别,stateless component其实指没有state的组件。而 functional component是个函数组件,它是stateless component的一个子集。当然有人也认为两者就是一个东西。

0
1
ywang04
非常感谢!
2018-07-21
共1条回复

黑色天然呆

2018-07-20

都会被重新render,两者意思差不多,无状态组件,就是指只有render函数的组件,可以简写为函数式组件

1
1
ywang04
谢谢哈, 搞清楚了
2018-07-21
共1条回复

React零基础入门到实战,完成企业级项目简书网站开发

主流新技术 React-redux,React-router4,贯穿基础语法

5275 学习 · 2496 问题

查看课程