为什么create-react-app现在使用App的功能组件?

时间:2019-04-28 11:16:13

标签: reactjs create-react-app react-component

曾经是

class App extends Components{
  //...
}

现在create-react-appApp.js中有此名称:

function App(){
  //...
}

有人知道为什么要进行此更改吗?他们是在暗示我们不应该在App中拥有状态吗?

2 个答案:

答案 0 :(得分:3)

自从在React中引入钩子以来,您就可以在函数组件中使用状态(请参阅useState)。

根据React 16.x roadmap post,将类组件缓慢过渡到功能组件可能是一个好方法:

  

挂钩不会弃用课程。但是,如果Hooks成功,则将来的主要发行版支持可能会转移到单独的软件包中,从而减小React的默认捆绑包大小。

答案 1 :(得分:0)

组件类不是非常可重用的,并且缺乏互换性。最好使用远离类组件并开始使用功能组件的方法。请参阅此post