最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React?Native?中限制導入某些組件和模塊的方法

 更新時間:2022年08月02日 09:29:50   作者:todoit  
這篇文章主要介紹了React?Native?中限制導入某些組件和模塊的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

有些時候,我們不希望使用某些組件,而是想使用其他組件。這時候,我們可以使用一個名為 no-restricted-imports 的eslint 規(guī)則,該規(guī)則允許你指定一個或多個組件的名稱,以防止使用這些組件。

no-restricted-imports 是 eslint 自帶的一個規(guī)則,我們不需要額外引入一個插件。

限制使用 Touchable

假如我們希望小伙伴們不要使用 Touchable 系列組件,而是使用 Pressable 組件,那么我們可以這樣寫:

// .eslintrc.js
module.exports = {
  rules: {
    "no-restricted-imports": [
      "error",
      {
        paths: [
          {
            name: "react-native",
            importNames: [
              "TouchableOpacity",
              "TouchableHighlight",
              "TouchableWithoutFeedback",
              "TouchableNativeFeedback",
            ],
            message: "Use Pressable instead",
          },
        ],
      },
    ],
  },
}

限制使用 Image

又譬如,我們希望小伙伴們使用 FastImage 組件,而不是使用 Image 組件,那么我們可以這樣寫:

// .eslintrc.js
module.exports = {
  rules: {
    "no-restricted-imports": [
      "error",
      {
        paths: [
          {
            name: "react-native",
            importNames: ["Image"],
            message: "Use FastImage from react-native-fast-image instead",
          },
        ],
      },
    ],
  },
}

同時限制兩者

如果我們既要限制使用 Touchable 組件,又要限制使用 Image 組件,那么我們可以這樣寫:

// .eslintrc.js
module.exports = {
  rules: {
    "no-restricted-imports": [
      "error",
      {
        paths: [
          {
            name: "react-native",
            importNames: [
              "TouchableOpacity",
              "TouchableHighlight",
              "TouchableWithoutFeedback",
              "TouchableNativeFeedback",
              "Image",
            ],
            message: "這個提示怎么寫?",
          },
        ],
      },
    ],
  },
}

但問題是, message 怎么寫?

我們希望,如果小伙伴使用 Touchable 組件,那么就提示他 Use Pressable instead ,如果小伙伴使用 Image 組件,那么就提示他 Use FastImage from react-native-fast-image instead 。

經(jīng)過作者 一番調(diào)研 ,發(fā)現(xiàn)可以使用no-restricted-syntax 來達到更精確的控制導入目的:

// .eslintrc.js
module.exports = {
  rules: {
    "no-restricted-syntax": [
      "error",
      {
        selector:
          "ImportDeclaration[source.value='react-native'] > ImportSpecifier[imported.name=/Touchable\\w*/]",
        message: "Use Pressable instead",
      },
      {
        selector:
          "ImportDeclaration[source.value='react-native'] > ImportSpecifier[imported.name='Image']",
        message: "Use FastImage from react-native-fast-image instead",
      },
    ],
  },
}

效果如下圖所示:

當然,對于要限定的某些模塊,如果 no-restricted-imports 能滿足需求,則優(yōu)先使用它。

示例

這里有 一個示例 ,供你參考。

到此這篇關于React Native 中限制導入某些組件和模塊的方法的文章就介紹到這了,更多相關React Native 限制導入內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • React報錯之組件不能作為JSX組件使用的解決方法

    React報錯之組件不能作為JSX組件使用的解決方法

    本文主要介紹了React報錯之組件不能作為JSX組件使用的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • 用React實現(xiàn)一個簡單的虛擬列表

    用React實現(xiàn)一個簡單的虛擬列表

    虛擬列表是現(xiàn)在比較常用的前端渲染大數(shù)據(jù)列表的方案,目前也有很多組件庫和工具庫也都有對應的實現(xiàn),本文將給大家介紹一下如何用React實現(xiàn)一個簡單的虛擬列表,文中通過代碼示例講解的非常詳細,需要的朋友可以參考下
    2023-12-12
  • 工程級?React?注冊登錄全棧級流程分析

    工程級?React?注冊登錄全棧級流程分析

    這篇文章主要介紹了工程級?React?注冊登錄全棧級流程,本文結(jié)合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • 詳解React如何優(yōu)雅地根據(jù)prop更新state值

    詳解React如何優(yōu)雅地根據(jù)prop更新state值

    這篇文章主要為大家詳細介紹了React如何優(yōu)雅地實現(xiàn)根據(jù)prop更新state值,文中的示例代碼講解詳細,具有一定的參考價值,感興趣的小伙伴可以了解下
    2023-11-11
  • React組件的三種寫法總結(jié)

    React組件的三種寫法總結(jié)

    本文主要總結(jié)了React組件的三種寫法以及最佳實踐,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01
  • 解決React報錯JSX?element?type?does?not?have?any?construct?or?call?signatures

    解決React報錯JSX?element?type?does?not?have?any?construct

    這篇文章主要為大家介紹了解決React報錯JSX?element?type?does?not?have?any?construct?or?call?signatures,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • React項目仿小紅書首頁保姆級實戰(zhàn)教程

    React項目仿小紅書首頁保姆級實戰(zhàn)教程

    React 是一個用于構(gòu)建用戶界面的 Javascript庫,接下來將通過實戰(zhàn)小紅書首頁的詳細介紹其設計思路和方法,將讀者帶入到react的開源世界,需要的朋友可以參考下
    2022-07-07
  • 列表頁常見hook封裝實例

    列表頁常見hook封裝實例

    這篇文章主要為大家介紹了列表頁常見的hook封裝示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 詳解React組件卸載怎么中止遞歸方法

    詳解React組件卸載怎么中止遞歸方法

    最近在處理項目代碼的時候,出現(xiàn)了一個bug,組件中的方法在組件卸載后仍然在執(zhí)行,代碼片段發(fā)給我看,但是變量的用意我也不懂,只看到有方法調(diào)用自身方法,這不就是遞歸嘛,所以本文詳細給大家介紹了React組件卸載怎么中止遞歸方法,需要的朋友可以參考下
    2024-01-01
  • React Hooks使用常見的坑

    React Hooks使用常見的坑

    React Hooks 是 React 16.8 引入的新特性,允許我們在不使用 Class 的前提下使用 state 和其他特性。接下來通過本文給大家分享React Hooks使用避坑指南,一起學習下吧
    2021-06-06

最新評論

石家庄市| 海晏县| 潼关县| 南川市| 诸城市| 绥德县| 布尔津县| 南安市| 仁化县| 孟津县| 宁远县| 新宁县| 临高县| 南充市| 中牟县| 渑池县| 普陀区| 保定市| 富锦市| 疏附县| 永顺县| 抚顺县| 藁城市| 囊谦县| 贵阳市| 金门县| 加查县| 定西市| 洪雅县| 壶关县| 恩施市| 榆社县| 嘉祥县| 黄大仙区| 通城县| 赤峰市| 桂林市| 三河市| 白河县| 鲁山县| 叙永县|