React 與 DOM 的差異

DOM 的差異

React 為了跨瀏覽器和提升效能的因素,實作一套和瀏覽器本身無關的 events 以及模擬 DOM 的機制。我們可以借由這個機制處理一些關於原始 DOM 設計上一些不足的地方。

繼續閱讀

React classSet 方法

操作樣式名稱(Class)

classSet() 是一個協助您快速操作 DOM 裏 class 字串的工具。
這裡有一些常見的情況,當沒有使用 classSet() 的時候:

繼續閱讀

React 雙向資料繫結

雙向繫結(Two-way binding)輔助函式

React 可以搭配 ReactLink 是一種實作雙向資料繫結較簡單的方式。

繼續閱讀

React 動畫

動畫

React 提供了一個 ReactTransitionGroup 的組件元件來作為一個底層的動畫 API,以及另一個 ReactCSSTransitionGroup 來方便實作基本的 CSS 動畫。

繼續閱讀

React 附加組件介紹

附加組件(Add-ons)

官方會把一些實用的共用工具放置在 React.addons。這些工具應該暫時被視為還在實驗階段,但最後官方應該會將其整合進核心功能或者如下列共用的工具函式庫:

繼續閱讀

React 關於工具整合

工具整合

一般來說,每一個專案使用不同的建置方式,系統環境,以及部署方式。React 試著盡可能的讓一切與系統環境沒有任何相依性。
意味著官方盡可能讓所有平台都能用一樣的方式運行 React。

繼續閱讀

關於 Reactjs 的核心觀念

這篇文章為官方部落格的文章隻翻譯。原文

以觀念來說React 是一種使用 Javascript 來快速建立大型 Web 的方式,它非常容易擴展,且官方已將其使用在 Facebook 與 Instagram 上。

繼續閱讀

理解 Javascript 的 Function.prototype.bind

Function.prototype.bind 函式繫結大概是當您開始學習 Javascript 時最後關注到的議題。
通常是當您遇到一種狀況:需要在其他 Function 保留 this 的執行環境(Context)。
講執行環境可能太抽象,舉例來說就是當您需要在函式的另外一個函式中呼叫 this.action() 的時候。
(這邊如果看不懂請耐著性子看下去)
不過通常這時您可能也不知道您需要的就是 Function.prototype.bind()

繼續閱讀

React 關於 Refs

關於 Refs

當你透過 render() 回傳你的 UI 結構之後,你可能想要從外部調用這個元件實例的方法。通常情況下為了取得一些元件或計算後資料你可能這樣做,但其實是不必要的,因為 React 通常會確保資料是最新的 props 且透過 render() 傳遞到子元件。不過的確有些情況還是會需要從外部調用方法。
想像下面這種狀況,當你想讓一個已存在的某元件的子元件 <input /> 在你清空欄位後馬上 focus<input />

繼續閱讀

React 元件運作與生命週期

與瀏覽器之間的運作

React 針對瀏覽器提供了十分強大的抽象化概念,讓你在大部份的情況下不必再直接操作 DOM ,不過有些時候或許還是需要單純的存取底層的 API(DOM API),可能是使用第三方函式庫或者事已經寫好的程式碼。

繼續閱讀