chenliqio / fe-interview

前端面试题型汇总
0 stars 0 forks source link

【React】Day11--React为什么要引入hooks,hooks解决了什么问题?⭐️⭐️ #32

Open chenliqio opened 2 years ago

chenliqio commented 2 years ago

一、从组件封装层面

  1. 使用class编写组件,需要理解生命周期函数,才能编写出正确的组件,而hook则解决了这个问题。
  2. 通过class编写组件,业务逻辑会分散到不同的生命周期函数中,而使用hooks编写组件,业务逻辑集中在函数中,大大降低了组建封装的复杂度。

    二、从组件复用的层面

    在class组件中,复用逻辑的方案包括HOC和render props。这两个方案都是将逻辑封装到一个抽象层组件中,所以使用多个复用逻辑时会形成抽象层组件的“嵌套地狱”,而hooks复用的逻辑则很简单。