在React裏面有兩種組件, Class components(類組件) 和 Functional components(函數式組件).二者有明顯的區別,好比函數
什麼是Functional Components性能
先看一段代碼:測試
function Hello(props){ return <div>Hello {props.name}</div> }
這是一個函數式組件(Functional Component), 它和類組件(Class Component)最關鍵的區別就是: 函數式組件沒有state和一系列的鉤子函數,這也是函數式組件常常被用做無狀態組件的緣由this
若是你比較熟悉ES6語法,還能夠這樣寫:debug
const Hello = ({name}) => <div>Hello {{name}}</div>
兩者的做用是徹底一致的code
若是用類組件(Class Components)來實現呢component
class Hello extends Component{ render(){ return <div>Hello {this.props.name}</div> } }
它僅僅包含一個render方法 正如以前所說,若是你的某個組件只有一個render方法,你能夠把它轉換成類組件(Class Component)生命週期
因此爲何要用函數式組件(Functional Components)呢ci
這些狀況下不要用函數式組件(Funcional Components)!!!io