[Javascript] React 指南 (React.js / ReactJS)

Intro

React 在定義上是稱 Javascript library

Features

  • One-way binding

Lifecycle

Lifecycle

Folder Structure

  • public/index.html: Entry page template
  • src/index.js: JavaScript entry point

React App Folder Structure - Document


Packages

React

Create React App


開發與打包

官方文件:Getting Started - Create React App

利用 npx 指令透過 create-react-app 套件安裝 react app:

$ npx create-react-app react-demo

package.json 可以看到 scripts,使用 start 來啟動測試環境

$npm run start

# Optional: using npx
$ npx react-scripts start

使用 build 來建置 Web dist 以供部署:

$npm run build

# Optional: using npx
$ npx react-scripts build`

在 build 時若想設定 dist src 根目錄,可以在 package.json 設定以下 key-value:

{ ...
    "homepage": "./",
... }

以上範例設定 ./ 則 src 將會改為 build 成相對路徑


Quick Start

React online sandbox 環境:codesandbox.io/s/react-new

Quick start 可以先參考這篇快速入門瞭解架構:

目前 review,這個範例首先有 Data incresement id 問題 (由於新 ID 使用 current data.length),另外對於 ToDoList 的資料結構採用無 index 的 objects array 所以每個 modify 操作資料時間複雜度都是 O(n)


組件 / 套件生態系

React Router (react-router-dom)

Client Side Routing 的第三方 lib

HashRouter

SPA 適用的 user entry router,可以透過取得網址 Hashtag 後帶入的 route 來直接進入 component。

Leave a Reply

Your email address will not be published. Required fields are marked *