Archive: 2018

0

生命週期(Life Cycle)

每一個 React 元件都有自己的生命周期,React 為元件提供了許多生命週期相對應的方法(事件),讓我們可以在元件發生前、發生後,甚至是被消滅的情況下,可以藉由這些方法來設計一些行為。 元件的生命週期有三個主要的部分:Mountint, Updating 以及 Unmounting,以下以目前最新的 React 16.4 生命週期簡介之。 Mounting:掛載階段,元件正準備要被寫入 DO

0

狀態 (state)

狀態(state)和屬性(props)類似,都是一個元件所需要的一些數據資料集合,但是 State 是私有的,它不能被自身元件以外的任何元件使用, React 把元件看成是一個狀態機,如果元件沒有狀態,那就只需要寫成函式元件並透過 props 傳遞資料,不需要寫成類別元件,但如果需要與使用者進行互動,就必須使用 State,先由 State 初始化元件本身的資料,再由 setState 方法改變元

0

元件 (Component) 與屬性 (Props)

元件 (Component) 讓你可以將用戶界面分成獨立的,可重複使用的小元件,並且可以對每個部件進行單獨的設計,是 React 最基本也最重要的觀念之一。 最簡單的定義元件的方法是寫一個 JavaScript 函數。 123function Person(props) { return <h1>My name is {props.name}</h

0

JSX 簡介

React 以 Component 為基礎,為了增進效率,我們常會在撰寫 React Component 時使用 JSX 的方式來提升程式撰寫效率。 JSX 是一種可以讓 HTML 標記直接寫在 JavaScript 程式碼中的擴充語法,為了它是 React 自創的 React.createElement 的一種簡寫法,需要經過 babel 工具編譯才能執行,可視為是創建元素的語法糖,在使用 Re

0

Promise

JavaScript 有些程式是非同步的(例如 ajax, setTimeout, setInterval),為了確保這些非同步程式能照我們想要的順序執行,我們使用了回呼函式 (以下稱 callback function) 來達成我們的需求,但 callback function 有個問題是只要程序一多,程式碼會變得非常難以閱讀,於是 ES6 提出了一個解決方案:Promise。 甚麼是 Prom

0

預設參數(Default parameters)

函式的傳入參數預設值,在未指定實際的傳入值時,一定是 undefined,ES6 的函式預設參數允許沒有值傳入或是傳入值為 undefined 的情況下,參數能以指定的預設值初始化,指定不同的預設值可能在某些情況很管用。 在以前還沒有預設參數的時候,程式會以||防呆,以免參數為 undefined。 1234567891011function foo(x, y){ x = x || 1

0

類別(Classes)

在 ES6 以前,想要簡化相同程式碼,必須用 prototype 原型來達到類與類繼承,ES6 引入了類別(Class)作為 JavaScript 現有原型程式(prototype-based)的語法糖,提供了一個更簡潔的語法來建立物件與處理繼承。 類別(Classes)實際上是一種特別的函數,就跟你可以定義函數敘述和函數宣告一樣。透過 Class 建立物件,將兩個或多個物件的相同結構抽取出來變成

0

分散 / 其餘(Spread/Rest)

ES6 引進一個新的 … 運算子(你沒看錯,就是三個點),它通常被稱為 spread(分散) 或 rest(其餘) 運算子,取決於被使用的時機與方式。 分散(Spread)分散(spread)用於將 陣列 展開為個別的值。123const numbers = [1, 2, 3]const newNumbers = [...numbers, 4]console.log(newNumbers) //[

0

箭頭函式(Arrow Function)

箭頭函式 Arrow Function 是 ES6 非常受人喜愛的功能,同時支援普通函式所具備的功能,包括預設值、解構、rest 參數,它擁有以下幾個特性: 更短的函式寫法(怎麼寫) 綁定 this(怎麼用) 更短的函式寫法先說結論,使用箭頭函式,以下兩種寫法是相等的。123456//normal functionfunction add(x){ return x + 5}

0

模組(Modules)

Modules 模組系統是 ES6 的新功能,透過 import 與 export 關鍵字,你可將以往冗長且結構複雜的程式碼拆解成各個小區塊,以便我們可以把A檔案的程式碼導入到B檔案使用。Exports 有兩種輸出方式,分別是 Default export 與 Named exports 預設匯出(Default export)Default export 的作用是為模組指定預設輸出。舉個例子,假