React + .Net#
一、環境設置 Setup#
1. 行前準備 Prerequisites#
dotnet --version
- 用 vs code 下載
ES7+ React/Redux/React-Native snippets
因為 rafce
很好用, 相當於, typescript 則是 tsrafce
import React from 'react'
const index = () => {
return (
<div>index</div>
)
}
export default index
2. 創建 React#
npm install create-react-app
- 創建新的 react app (typescript)
--template typescript
可指定使用 typescript
npx create-react-app {project} --template typescript
cd {project}
- 必要時可能要初始化一個新的 react 項目,確保版本是匹配的。
yarnpkg add --exact react-dom react-scripts
3. 基本結構#
- 函數式元件(Functional Component):
const Card: React.FC<Props> = ({
companyName,
ticker,
price
}: Props): JSX.Element => { ... }
Card
是一個函數式元件,使用 TypeScript 和 React。React.FC<Props>
指定這個元件是接受 Props
作為參數的 React 函數式元件({ companyName, ticker, price })
是從 Props
解構的屬性,這些屬性將會被傳入元件
- JSX 標籤:
return (
<div className='card'>...</div>
)
- 這是元件返回的 JSX,它描述了元件應該如何渲染。
4. State#
import React, { useState } from 'react'
type Props = {}
const Button: React.FC<Props> = (props: Props): JSX.Element => {
const [count, setCount] = useState<number>(0);
const onClick = (e: any) => {
setCount(count + 1);
console.log(e);
}
return (
<div>
<button onClick={(e) => onClick(e)}>Click me</button>
<p>You clicked {count} times</p>
</div>
)
}
export default Button
- 引入 React 和 useState Hook:
import React, { useState } from 'react'
- 從 React 包中引入
useState
Hook,用於函數式元件中添加狀態。
- 使用
useState
Hook 定義狀態
const [count, setCount] = useState<number>(0);
- 定義一個名為
count
的狀態變量,初始值為 0。 setCount
是用來更新 count
的函數。useState<number>(0)
指定 count
的類型為 number
。
- 定義
onClick
事件處理函數:
const onClick = (e: any) => {
setCount(count + 1);
console.log(e);
}
onClick
是一個事件處理函數,接受一個事件參數 e
。- 每當按鈕被點擊時,
count
會加 1,並且會在控制台輸出事件 e
。 any
也可被寫成 MounthEvent
或 SyntheticEvent
。