與上篇提到的 function Component 的前三點敘述流程幾乎一樣,只是把 function 變成 Class。
props 物件
React element
, 而 React Element
通常以 Jsx 的方式撰寫private 的 state
可以靈活運用 (state 與 props
下篇再介紹)把下圖預設的 React 畫面換成 Hi Tom 文字
Hi Component
import React, { Component} from 'react';
class Hi extends Component {
render(){
return <h1>Hi Tom</h1>
}
}
export default Hi
3.把 index.js 寫入 Hi Component
// function Component
import React from 'react';
function Hello() {
return <h1>Hello Tom</h1>
}
export default Hello;
// Class Component
import React, { Component} from 'react';
class Hi extends Component {
render(){
return <h1>Hi Tom</h1>
}
}
export default Hi
Function | Es6 Class | |
---|---|---|
有無state |
要用 useState hooks | 有 |
有無this |
無 | 有 |
UI | 偏向笨組件 | 偏向聰明組件 |
這篇對我來說與上篇的 function Component 極相似,但差在於寫法跟效能上的問題。
提一個題外話,在查詢資料過程當中發現了hooks
這個東西,function Component hooks
大概就是為了與 Class Component 一樣有 state 且變得更靈活,但讓程式碼可讀性更好,而衍伸出來的一種寫法,突然覺得前端的世界變化好快啊啊啊啊!!!但我還是會先研究組內的寫法 Es6 Class
+ Redux