函数式组件是什么:
一般的组件是有内部逻辑的,拿本项目来说,点了某个选项就会弹出来其他的选项或者改变其他选项的状态。这种组件就好像汪汪队的一个玩具,上面安装了按钮,按下某个按钮翅膀就会弹出来,再按一下翅膀就收回去,再按一个按钮就唱歌之类的。
但是还有一类组件就像是没有按钮的玩具,它的功能就是展示给人看,他的形态一直是一个样子。就类似在网页上传一张照片,然后就把照片展示出来而已。
但是为什么叫函数式组件呢?
因为组件并不是玩具,而是一个打印玩具的盒子,有数据输入,通过这个黑盒子组件,就出现了一个玩具。有输入有输出,输入是确定的的,输出也是确定的,也就是一个函数,所以叫函数式组件。
但是通常意义上的组件,输入是固定的,输出却不是固定的,因为第一次输入形成了一个玩具(这个玩具上有按钮),而第二次输入是用户的输入(按哪个按钮),要这个第二次输入才能完全确定最后的输出。所以做玩具的这个打印机(组件)他的输出样子并不是确定的,所以算不上是一个函数。
函数式组件可以用作临时变量。因为全局的变量可能部署在全局,如果数据变了,各个地方的全局变量就都要重新计算一遍。但是如果只是想要测试某一个地方的值的话,就可以用临时变量,即不用在所有的地方重新计算一遍了,即同样的东西取两个名字。