日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

在 Create React App 中使用 TypeScript,你學(xué)會(huì)了嗎?

來(lái)源: 責(zé)編: 時(shí)間:2024-02-01 12:51:48 273觀看
導(dǎo)讀在React項(xiàng)目中引入TypeScript(TS)涉及到一系列配置步驟。以下是一個(gè)完整的配置過(guò)程,從創(chuàng)建React項(xiàng)目到配置TypeScript:1. 需要?jiǎng)?chuàng)建一個(gè)使用 TypeScript 的新項(xiàng)目首先,你可以使用create-react-app工具來(lái)創(chuàng)建一個(gè)React結(jié)合Ty

在React項(xiàng)目中引入TypeScript(TS)涉及到一系列配置步驟。以下是一個(gè)完整的配置過(guò)程,從創(chuàng)建React項(xiàng)目到配置TypeScript:Ikg28資訊網(wǎng)——每日最新資訊28at.com

1. 需要?jiǎng)?chuàng)建一個(gè)使用 TypeScript 的新項(xiàng)目

首先,你可以使用create-react-app工具來(lái)創(chuàng)建一個(gè)React結(jié)合TypeScript的項(xiàng)目。Create React App 內(nèi)置了對(duì) TypeScript 的支持。在命令行中運(yùn)行以下命令:Ikg28資訊網(wǎng)——每日最新資訊28at.com

npx create-react-app my-app --template typescript

這將創(chuàng)建一個(gè)名為my-react-app的React項(xiàng)目,并安裝默認(rèn)的配置。Ikg28資訊網(wǎng)——每日最新資訊28at.com

2. 進(jìn)入項(xiàng)目目錄:

cd my-react-app

3. 已有的項(xiàng)目添加TyoeScript:

npm install --save typescript @types/node @types/react @types/react-dom @types/jest

4. 重命名文件并修改后綴:

將項(xiàng)目目錄下的src/App.js文件重命名為src/App.tsx,這樣React就能識(shí)別它是一個(gè)TypeScript文件。Ikg28資訊網(wǎng)——每日最新資訊28at.com

5. 修改 src/index.tsx 文件:

將src/index.js文件中的內(nèi)容改為:Ikg28資訊網(wǎng)——每日最新資訊28at.com

import React from 'react';import ReactDOM from 'react-dom';import './index.css';import App from './App';ReactDOM.render(  <React.StrictMode>    <App />  </React.StrictMode>,  document.getElementById('root'));

6. 配置 tsconfig.json 文件:

沒(méi)有配置項(xiàng),編譯器提供不了任何幫助。在 TypeScript 里,這些配置項(xiàng)都在一個(gè)名為 tsconfig.json 的特殊文件中定義。可以通過(guò)執(zhí)行以下命令生成該文件:使用 Yarn,執(zhí)行:Ikg28資訊網(wǎng)——每日最新資訊28at.com

yarn run tsc --init

使用 npm,執(zhí)行:Ikg28資訊網(wǎng)——每日最新資訊28at.com

npx tsc --init

在 tsconfig.json 文件里面添加以下基本配置:Ikg28資訊網(wǎng)——每日最新資訊28at.com

{  "compilerOptions": {    "target": "es5",    "lib": ["dom", "dom.iterable", "esnext"],    "allowJs": true,    "skipLibCheck": true,    "esModuleInterop": true,    "allowSyntheticDefaultImports": true,    "strict": true,    "forceConsistentCasingInFileNames": true,    "module": "esnext",    "moduleResolution": "node",    "resolveJsonModule": true,    "isolatedModules": true,    "noEmit": true,    "jsx": "react-jsx"  },  "include": ["src/**/*.ts", "src/**/*.tsx"],  "exclude": ["node_modules"]}

這個(gè) tsconfig.json 文件包含了基本的TypeScript配置。你可以根據(jù)項(xiàng)目的需求進(jìn)行調(diào)整。更多配置請(qǐng)參考文檔Ikg28資訊網(wǎng)——每日最新資訊28at.com

7. 修改 src/App.tsx 文件:

在 src/App.tsx 文件中,可以使用 TypeScript 的語(yǔ)法,例如聲明組件的 props 類型和狀態(tài)類型:Ikg28資訊網(wǎng)——每日最新資訊28at.com

import React, { useState } from 'react';interface AppProps {  message: string;}const App: React.FC<AppProps> = ({ message }) => {  const [count, setCount] = useState<number>(0);  return (    <div>      <h1>{message}</h1>      <p>Count: {count}</p>      <button onClick={() => setCount(count + 1)}>Increment</button>    </div>  );}export default App;

這里使用了 TypeScript 的 interface 來(lái)定義 App 組件的 props 類型,以及使用 useState 聲明了 count 的狀態(tài)類型。Ikg28資訊網(wǎng)——每日最新資訊28at.com

8.文件擴(kuò)展名在 React 中,組件文件大多數(shù)使用 .js 作為擴(kuò)展名。在 TypeScript 中,提供兩種文件擴(kuò)展名:Ikg28資訊網(wǎng)——每日最新資訊28at.com

.ts 是默認(rèn)的文件擴(kuò)展名,而 .tsx 是一個(gè)用于包含 JSX 代碼的特殊擴(kuò)展名。Ikg28資訊網(wǎng)——每日最新資訊28at.com

9.類型定義如果你想要顯示來(lái)自其他包(libraries)的錯(cuò)誤和提示,通常你需要安裝相應(yīng)庫(kù)的 TypeScript 類型聲明。TypeScript 類型聲明文件的后綴為 .d.ts,它包含了有關(guān)庫(kù)的類型信息,使得 TypeScript 編譯器能夠理解和驗(yàn)證你對(duì)庫(kù)的使用。Ikg28資訊網(wǎng)——每日最新資訊28at.com

以下是一些常見(jiàn)情況下可能需要安裝的 TypeScript 類型聲明的例子:Ikg28資訊網(wǎng)——每日最新資訊28at.com

React 類型聲明:Ikg28資訊網(wǎng)——每日最新資訊28at.com

npm install --save @types/react @types/react-dom

如果你使用了 React,這個(gè)命令將安裝 React 和 ReactDOM 的類型聲明文件。Ikg28資訊網(wǎng)——每日最新資訊28at.com

其他 npm 包的類型聲明:Ikg28資訊網(wǎng)——每日最新資訊28at.com

對(duì)于其他可能使用的庫(kù),你可以查看它們的 npm 包是否有相應(yīng)的 @types 包。例如,如果你使用了 axios,可以運(yùn)行:Ikg28資訊網(wǎng)——每日最新資訊28at.com

npm install --save @types/axios

聲明文件不可用的情況:Ikg28資訊網(wǎng)——每日最新資訊28at.com

有時(shí),某些包可能沒(méi)有官方的 TypeScript 類型聲明文件,或者它們可能不是最新的。在這種情況下,你可能需要使用類型聲明文件生成工具,例如 tsc(TypeScript 編譯器)的 --allowJs 和 --declaration 選項(xiàng),以從 JavaScript 代碼生成類型聲明文件。但請(qǐng)注意,這可能不如官方的類型聲明文件準(zhǔn)確和全面。Ikg28資訊網(wǎng)——每日最新資訊28at.com

確保你的項(xiàng)目中包含了所需的類型聲明文件后,TypeScript 編譯器就能夠正確地檢查和驗(yàn)證你對(duì)這些庫(kù)的使用,以及在開(kāi)發(fā)過(guò)程中顯示相關(guān)的錯(cuò)誤和提示信息。Ikg28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-70465-0.html在 Create React App 中使用 TypeScript,你學(xué)會(huì)了嗎?

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: JS小知識(shí),使用這六個(gè)小技巧,避免過(guò)多的使用 IF 語(yǔ)句

下一篇: 利用Nacos實(shí)現(xiàn)Seata事務(wù)模式(XA與AT)的快速配置與靈活切換

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
亚洲国产你懂的| 国产一区视频网站| 欧美日韩www| 国产精品福利在线观看| 国产一区二区三区久久| 91久久久一线二线三线品牌| 99视频在线观看一区三区| 亚洲一区综合| 久久一二三区| 欧美日韩在线一区二区| 国产亚洲欧美日韩美女| 亚洲欧洲在线视频| 午夜国产欧美理论在线播放| 老司机一区二区| 欧美日一区二区三区在线观看国产免 | 国产精品va在线播放我和闺蜜| 国产欧美在线观看| 亚洲理论在线| 久久成人久久爱| 欧美日韩中文字幕日韩欧美| 国产一区二区三区免费不卡| 日韩视频久久| 久久精品日韩| 国产精品r级在线| **网站欧美大片在线观看| 亚洲一级片在线观看| 美日韩精品免费观看视频| 国产精品欧美久久| 日韩视频一区二区三区在线播放免费观看 | 欧美精品一区在线发布| 国产午夜精品美女毛片视频| 99国产精品久久久久久久久久 | 亚洲在线免费视频| 欧美 亚欧 日韩视频在线| 国产麻豆综合| av成人老司机| 久久综合九色综合欧美狠狠| 国产欧美三级| 夜夜嗨av一区二区三区四区 | 国产精品综合网站| 99国产精品一区| 老司机久久99久久精品播放免费| 国产精品久久久爽爽爽麻豆色哟哟| 在线看不卡av| 久久精品九九| 国产老肥熟一区二区三区| 99riav久久精品riav| 另类激情亚洲| 韩国精品在线观看| 亚洲欧美在线另类| 欧美吻胸吃奶大尺度电影| 亚洲欧洲在线播放| 麻豆久久久9性大片| 国产一区二区三区四区在线观看| 亚洲午夜性刺激影院| 欧美极品色图| 亚洲人被黑人高潮完整版| 久久女同精品一区二区| 国产日韩欧美自拍| 午夜在线观看免费一区| 国产精品高清在线| 中国女人久久久| 欧美精品在线一区二区| 亚洲国产午夜| 免费欧美在线视频| 尤物九九久久国产精品的分类| 久久精品视频在线观看| 国产亚洲欧洲| 久久成人18免费观看| 国产欧美日韩精品丝袜高跟鞋| 亚洲综合欧美| 国产精品免费看久久久香蕉| 亚洲午夜一二三区视频| 欧美视频日韩| 一区二区三区久久网| 欧美日韩精品| 中文欧美字幕免费| 国产精品福利网| 亚洲一区久久久| 国产精品免费观看在线| 亚洲欧美精品在线| 国产精品毛片大码女人| 亚洲男女自偷自拍| 国产毛片久久| 久久精品国产精品亚洲| 好男人免费精品视频| 久久久综合激的五月天| 亚洲第一黄网| 欧美成人午夜剧场免费观看| 91久久久久久久久| 欧美绝品在线观看成人午夜影视| 日韩一级黄色大片| 欧美视频二区| 亚洲欧美视频在线观看| 国产亚洲一区二区精品| 久久亚洲国产精品一区二区| 亚洲国产福利在线| 欧美精品福利视频| 在线综合+亚洲+欧美中文字幕| 国产精品女人网站| 欧美在线观看www| 在线观看中文字幕不卡| 欧美激情一区二区三区不卡| 一本色道久久88精品综合| 国产精品美女久久久久久久 | 亚洲精品男同| 久久激情一区| 久久综合久色欧美综合狠狠| 久久精品国产999大香线蕉| 欧美中文日韩| 亚洲新中文字幕| 在线观看视频欧美| 国产一区二区三区四区在线观看| 欧美v日韩v国产v| 欧美黑人在线播放| 欧美伦理a级免费电影| 国产精品看片资源| 国产一区二区| 一区二区三区高清不卡| 久久国产手机看片| 欧美日韩视频不卡| 亚洲精品久久久久久下一站| 久久婷婷av| 国产精品亚洲综合色区韩国| 今天的高清视频免费播放成人 | 亚洲第一视频网站| 亚洲美女啪啪| 欧美一区二区黄色| 欧美日韩在线播放一区二区| 日韩天堂在线视频| 国产精品久久久久久久久免费樱桃 | 精品成人免费| 亚洲日本欧美日韩高观看| 亚洲激情视频在线| 亚洲青色在线| 一区二区三区 在线观看视频| 亚洲欧美在线aaa| 久久综合狠狠综合久久激情| 欧美日韩视频在线| 好吊成人免视频| 久久久999精品视频| 亚洲视频免费观看| 国产美女精品视频| 欧美大片第1页| 香蕉精品999视频一区二区| 国产精品www网站| 午夜亚洲福利| 欧美午夜无遮挡| 亚洲精品中文字幕在线观看| 欧美黄色网络| 国产在线高清精品| 欧美在线一二三| 国产精品一区二区在线观看不卡| 亚洲视频在线视频| **性色生活片久久毛片| 欧美三级视频| 久久躁狠狠躁夜夜爽| 亚洲欧美国产另类| 亚洲三级视频| 黄色成人精品网站| 国产精品久久网站| 欧美国产一区视频在线观看| 久久不射2019中文字幕| 亚洲视频网在线直播| 91久久综合亚洲鲁鲁五月天| 国产午夜精品久久久| 国产精品video| 欧美激情第一页xxx| 久久裸体视频| 欧美自拍偷拍| 亚洲综合精品自拍| 99re热这里只有精品视频 | 亚洲欧洲另类| 激情亚洲成人| 国产女优一区| 国产精品家教| 欧美日韩精品欧美日韩精品一 | 久久国产福利| 亚洲伊人伊色伊影伊综合网| 日韩视频一区| 日韩视频免费大全中文字幕| 亚洲电影免费观看高清完整版在线 | 国产精品久久久久毛片软件| 欧美啪啪成人vr| 欧美成人日韩| 久久在线91| 久久亚洲欧美国产精品乐播| 久久精品30| 久久成人精品电影| 欧美尤物巨大精品爽| 亚洲欧美制服中文字幕| 亚洲一级在线| 亚洲一区二区三区欧美| 亚洲视频在线二区| 亚洲一区精品电影| 亚洲伊人久久综合| 亚洲欧美日本伦理| 亚洲欧美国产77777| 亚洲图片欧美日产| 亚洲一区区二区| 亚洲一区影音先锋| 亚洲摸下面视频| 性色av一区二区三区红粉影视| 午夜视频久久久|