生命週期(Life Cycle)
每一個 React 元件都有自己的生命周期,React 為元件提供了許多生命週期相對應的方法(事件),讓我們可以在元件發生前、發生後,甚至是被消滅的情況下,可以藉由這些方法來設計一些行為。 元件的生命週期有三個主要的部分:Mountint, Updating 以及 Unmounting,以下以目前最新的 React 16.4 生命週期簡介之。 Mounting:掛載階段,元件正準備要被寫入 DO
每一個 React 元件都有自己的生命周期,React 為元件提供了許多生命週期相對應的方法(事件),讓我們可以在元件發生前、發生後,甚至是被消滅的情況下,可以藉由這些方法來設計一些行為。 元件的生命週期有三個主要的部分:Mountint, Updating 以及 Unmounting,以下以目前最新的 React 16.4 生命週期簡介之。 Mounting:掛載階段,元件正準備要被寫入 DO
狀態(state)和屬性(props)類似,都是一個元件所需要的一些數據資料集合,但是 State 是私有的,它不能被自身元件以外的任何元件使用, React 把元件看成是一個狀態機,如果元件沒有狀態,那就只需要寫成函式元件並透過 props 傳遞資料,不需要寫成類別元件,但如果需要與使用者進行互動,就必須使用 State,先由 State 初始化元件本身的資料,再由 setState 方法改變元
元件 (Component) 讓你可以將用戶界面分成獨立的,可重複使用的小元件,並且可以對每個部件進行單獨的設計,是 React 最基本也最重要的觀念之一。 最簡單的定義元件的方法是寫一個 JavaScript 函數。 123function Person(props) { return <h1>My name is {props.name}</h
函式的傳入參數預設值,在未指定實際的傳入值時,一定是 undefined,ES6 的函式預設參數允許沒有值傳入或是傳入值為 undefined 的情況下,參數能以指定的預設值初始化,指定不同的預設值可能在某些情況很管用。 在以前還沒有預設參數的時候,程式會以||防呆,以免參數為 undefined。 1234567891011function foo(x, y){ x = x || 1
在 ES6 以前,想要簡化相同程式碼,必須用 prototype 原型來達到類與類繼承,ES6 引入了類別(Class)作為 JavaScript 現有原型程式(prototype-based)的語法糖,提供了一個更簡潔的語法來建立物件與處理繼承。 類別(Classes)實際上是一種特別的函數,就跟你可以定義函數敘述和函數宣告一樣。透過 Class 建立物件,將兩個或多個物件的相同結構抽取出來變成
ES6 引進一個新的 … 運算子(你沒看錯,就是三個點),它通常被稱為 spread(分散) 或 rest(其餘) 運算子,取決於被使用的時機與方式。 分散(Spread)分散(spread)用於將 陣列 展開為個別的值。123const numbers = [1, 2, 3]const newNumbers = [...numbers, 4]console.log(newNumbers) //[
箭頭函式 Arrow Function 是 ES6 非常受人喜愛的功能,同時支援普通函式所具備的功能,包括預設值、解構、rest 參數,它擁有以下幾個特性: 更短的函式寫法(怎麼寫) 綁定 this(怎麼用) 更短的函式寫法先說結論,使用箭頭函式,以下兩種寫法是相等的。123456//normal functionfunction add(x){ return x + 5}
Modules 模組系統是 ES6 的新功能,透過 import 與 export 關鍵字,你可將以往冗長且結構複雜的程式碼拆解成各個小區塊,以便我們可以把A檔案的程式碼導入到B檔案使用。Exports 有兩種輸出方式,分別是 Default export 與 Named exports 預設匯出(Default export)Default export 的作用是為模組指定預設輸出。舉個例子,假