欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue3中使用jsx/tsx的教程詳解

 更新時間:2024年02月13日 09:04:27   作者:吳楷鵬  
這篇文章主要為大家詳細介紹了如何在Vue3中使用jsx/tsx的相關知識,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的小伙伴可以了解下

首先,恭喜一下 React,再過 4 個月,就達成了兩年無更新記錄

反觀隔壁的 Vue,穩(wěn)定迭代更新

之前寫 React 的時候,最喜歡的是 JSX/TSX 語法,把 HTML 組件當做 JavaScript/TypeScript 代碼片段處理

const App: React.FC<AppProps> = ({ title }) => {
  const [count, setCount] = useState<number>(0);
  // ??????
  return (
    <div>
      <h1>{title}</h1>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>
        Click me
      </button>
    </div>
  );
}

轉(zhuǎn)戰(zhàn) Vue 之后,最痛苦的是沒辦法利用 TSX 語法靈活創(chuàng)建組件。

最常見的例子是,當我有一個數(shù)據(jù)表格,需要自定義字段的組件時,得用 h() 函數(shù)來創(chuàng)建:

<script lang="ts" setup>
//...
const createColumns = () => {
  return [
    {
      title: 'Action',
      key: 'actions',
      render (row) {
        /* ?????? */
        return h(
          NButton,
          {
            strong: true,
            tertiary: true,
            size: 'small',
            onClick: () => play(row)
          },
          { default: () => 'Play' }
        )
      }
    }
  ]
}
//...
</script>

h() 麻煩,低頻使用情況下,每次都得查一遍文檔。

最近發(fā)現(xiàn) Vue3 原來是支持 JSX & TSX 的!

官方文檔: vuejs.org/guide/extras/render-function.html#jsx-tsx

在 Vue3 中集成 JSX & TSX 相對簡單,安裝插件:

npm install @vue/babel-plugin-jsx -D

將 babel 文件中配置:

{
  "plugins": ["@vue/babel-plugin-jsx"]
}

如果項目用 TypeScript,則在 tsconfig.json 中配置:

{
  "compilerOptions": {
    "jsx": "preserve"
  }
}

注意:這里以 babel 舉例,如果是其他工具鏈,比如 Vite、Nuxt 的話,請參考對應文檔。

集成之后,上述的 h() 終于可以扔掉,換回熟悉的 JSX & TSX:

<script lang="ts" setup>
//...
const createColumns = () => {
  return [
    {
      title: 'Action',
      key: 'actions',
      render (row) {
        /* ?????? */
        return (
          <NButton 
            strong={true}
            tertiary={true}
            size="small"
            onClick={() => play(row)}>
            Play
          </NButton>
        )
      }
    }
  ]
}
//...
</script>

Vue3,你是懂框架的,妥妥的真香。

Vue 的誕生,已經(jīng)十個年頭,這么些年來,Vue 始終穩(wěn)步前進。

降低開發(fā)成本和心智負擔方面來說,Vue 算得上優(yōu)秀。

先后推出的 Composition API、Setup、支持 TSX 語法等,真正的理解、賦能開發(fā)者。

值得一提的是,國內(nèi)的開發(fā)者確實偏愛 Vue,不論是 Star 人數(shù)、Issue 數(shù)量 和 Pull Request 數(shù)量,都是遙遙領先:

數(shù)據(jù)來源:ossinsight.io/analyze/vuejs/core#people

到此這篇關于Vue3中使用jsx/tsx的教程詳解的文章就介紹到這了,更多相關Vue3使用jsx/tsx內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 解決vue安裝less報錯Failed to compile with 1 errors的問題

    解決vue安裝less報錯Failed to compile with 1 errors的問題

    這篇文章主要介紹了解決vue安裝less報錯Failed to compile with 1 errors的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • vue項目使用axios發(fā)送請求讓ajax請求頭部攜帶cookie的方法

    vue項目使用axios發(fā)送請求讓ajax請求頭部攜帶cookie的方法

    今天小編就為大家分享一篇vue項目使用axios發(fā)送請求讓ajax請求頭部攜帶cookie的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 使用element upload上傳組件如何去掉刪除按鈕

    使用element upload上傳組件如何去掉刪除按鈕

    這篇文章主要介紹了使用element upload上傳組件如何去掉刪除按鈕
    2023-07-07
  • 初識簡單卻不失優(yōu)雅的Vue.js

    初識簡單卻不失優(yōu)雅的Vue.js

    這篇文章主要為大家介紹了簡單卻不失優(yōu)雅、小巧而不乏大匠的Vue.js,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Vuex新手的理解與使用詳解

    Vuex新手的理解與使用詳解

    這篇文章主要介紹了Vuex新手的理解與使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • Vite結(jié)合Vue刪除指定環(huán)境的console.log問題

    Vite結(jié)合Vue刪除指定環(huán)境的console.log問題

    這篇文章主要介紹了Vite結(jié)合Vue刪除指定環(huán)境的console.log問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vue實現(xiàn)tab切換的放大鏡效果

    vue實現(xiàn)tab切換的放大鏡效果

    這篇文章主要為大家詳細介紹了vue實現(xiàn)tab切換的放大鏡效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Vue2.0實現(xiàn)購物車功能

    Vue2.0實現(xiàn)購物車功能

    這篇文章主要為大家詳細介紹了Vue2.0實現(xiàn)購物車功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Vue中的Vux配置指南

    Vue中的Vux配置指南

    Vux是Vue.js的一個ui庫,官網(wǎng)在這里,官方文檔的配置指南側(cè)重于技術的羅列,我這里簡化一下Vux的配置流程。感興趣的朋友跟隨腳本之家小編一起學習吧
    2017-12-12
  • vite中使用@配置路徑別名過程示例

    vite中使用@配置路徑別名過程示例

    這篇文章主要為大家介紹了vite中使用@配置路徑別名過程示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08

最新評論