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

解決React報錯Parameter 'props' implicitly has an 'any' type

 更新時間:2022年12月02日 08:57:54   作者:Borislav Hadzhiev  
這篇文章主要為大家介紹了React報錯Parameter 'props' implicitly has an 'any' type的解決處理方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

總覽

當(dāng)我們沒有為函數(shù)組件或者類組件的props聲明類型,或忘記為React安裝類型聲明文件時,會產(chǎn)生"Parameter 'props' implicitly has an 'any' type"錯誤。為了解決這個錯誤,在你的組件中明確地為props對象設(shè)置一個類型。

安裝類型文件

你首先要確定的是你已經(jīng)安裝了React類型聲明文件。在項目的根目錄下打開終端,并運行以下命令。

# ??? with NPM
npm install --save-dev @types/react @types/react-dom
# ----------------------------------------------
# ??? with YARN
yarn add @types/react @types/react-dom --dev

嘗試重啟你的IDE和開發(fā)服務(wù)。

聲明類型

如果這沒有幫助,你有可能忘記明確地為函數(shù)組件或類組件的props聲明類型。

// App.tsx
// ?? Parameter 'props' implicitly has an 'any' type.ts(7006)
function Person(props) {
  return (
    <div>
      <h2>{props.name}</h2>
      <h2>{props.age}</h2>
      <h2>{props.country}</h2>
    </div>
  );
}
function App() {
  return (
    <div>
      <Person name="James" age={30} country="Australia" />
    </div>
  );
}
export default App;

上述代碼片段的問題在于,我們沒有為函數(shù)組件的props設(shè)置類型。

為了解決該錯誤,我們必須顯示地props參數(shù)類型。

// App.tsx
interface PersonProps {
  name: string;
  age: number;
  country: string;
  children?: React.ReactNode; // ??? for demo purposes
}
function Person(props: PersonProps) {
  return (
    <div>
      <h2>{props.name}</h2>
      <h2>{props.age}</h2>
      <h2>{props.country}</h2>
    </div>
  );
}
function App() {
  return (
    <div>
      <Person name="James" age={30} country="Australia" />
    </div>
  );
}
export default App;

我們?yōu)榻M件的props顯示地聲明了一個接口,這就可以解決錯誤。

我們不需要設(shè)置children屬性,但如果你向你的組件傳遞children,你就必須這樣做。

如果你不想為你的組件明確地聲明props對象類型,那么你可以使用any類型。

// App.tsx
// ??? set type to any
function Person(props: any) {
  return (
    <div>
      <h2>{props.name}</h2>
      <h2>{props.age}</h2>
      <h2>{props.country}</h2>
    </div>
  );
}
function App() {
  return (
    <div>
      <Person name="James" age={30} country="Australia" />
    </div>
  );
}
export default App;

any類型有效地關(guān)閉了類型檢查,所以我們能夠向組件傳遞props,并訪問對象上的屬性,而不會得到任何類型檢查錯誤。

泛型

如果你有一個類組件,可以使用泛型來為其propsstate聲明類型。

// App.tsx
import React from 'react';
interface PersonProps {
  name: string;
  age: number;
  country: string;
  children?: React.ReactNode;
}
interface PersonState {
  value: string;
}
// ??? React.Component<PropsType, StateType>
class Person extends React.Component<PersonProps, PersonState> {
  render() {
    return (
      <div>
        <h2>{this.props.name}</h2>
        <h2>{this.props.age}</h2>
        <h2>{this.props.country}</h2>
      </div>
    );
  }
}
export default function App() {
  return (
    <div>
      <Person name="James" age={30} country="Australia" />
    </div>
  );
}

我們明確地為組件的propsstate提供了類型,這就解決了這個錯誤。

如果你不想明確地為你的組件的propsstate提供類型,你可以使用any類型。

// App.tsx
import React from 'react';
// ??? type checking disabled for props and state
class App extends React.Component<any, any> {
  constructor(props: any) {
    super(props);
    this.state = {value: ''};
  }
  handleChange = (event: any) => {
    this.setState({value: event.target.value});
  };
  render() {
    return (
      <div>
        <form>
          <input
            onChange={this.handleChange}
            type="text"
            value={this.state.value}
          />
          <button type="submit">Submit</button>
        </form>
      </div>
    );
  }
}
export default App;

我們在輸入propsstate對象時使用了any類型,這有效地關(guān)閉了類型檢查。

現(xiàn)在你將能夠訪問this.propsthis.state對象上的任何屬性而不會得到類型檢查錯誤。

重新安裝

如果錯誤沒有解決,嘗試刪除你的node_modulespackage-lock.json(不是package.json)文件,重新運行npm install并重新啟動你的IDE。

# ??? delete node_modules and package-lock.json
rm -rf node_modules
rm -f package-lock.json
# ??? clean npm cache
npm cache clean --force
npm install

如果錯誤仍然存在,請確保重新啟動你的IDE和開發(fā)服務(wù)。VSCode經(jīng)常出現(xiàn)故障,重啟有時會解決問題。

翻譯原文鏈接:bobbyhadz.com/blog/react-…

以上就是解決React報錯Parameter 'props' implicitly has an 'any' type的詳細(xì)內(nèi)容,更多關(guān)于React 報錯解決的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • React日期時間顯示組件的封裝方法

    React日期時間顯示組件的封裝方法

    這篇文章主要為大家詳細(xì)介紹了React日期時間顯示組件的封裝方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • react+redux仿微信聊天界面

    react+redux仿微信聊天界面

    這篇文章主要介紹了react+redux仿微信聊天IM實例|react仿微信界面 ,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-06-06
  • 詳解在React中跨組件分發(fā)狀態(tài)的三種方法

    詳解在React中跨組件分發(fā)狀態(tài)的三種方法

    這篇文章主要介紹了詳解在React中跨組件分發(fā)狀態(tài)的三種方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • React實現(xiàn)表單提交防抖功能的示例代碼

    React實現(xiàn)表單提交防抖功能的示例代碼

    在 React 應(yīng)用中,防抖(Debounce)技術(shù)可以有效地限制函數(shù)在短時間內(nèi)的頻繁調(diào)用,下面我們就來看看如何使用Lodash庫中的debounce函數(shù)實現(xiàn)React表單提交中實現(xiàn)防抖功能吧
    2024-01-01
  • React18新增特性介紹

    React18新增特性介紹

    react歷次版本迭代主要想解決的是兩類導(dǎo)致網(wǎng)頁卡頓的問題,分別是cpu密集型任務(wù)和io密集型任務(wù)導(dǎo)致的卡頓問題,react18新增特性就是為了解決上述問題
    2022-09-09
  • create-react-app修改為多頁面支持的方法

    create-react-app修改為多頁面支持的方法

    本篇文章主要介紹了create-react-app修改為多頁面支持的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • react同構(gòu)實踐之實現(xiàn)自己的同構(gòu)模板

    react同構(gòu)實踐之實現(xiàn)自己的同構(gòu)模板

    這篇文章主要介紹了react同構(gòu)實踐之實現(xiàn)自己的同構(gòu)模板,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 用React實現(xiàn)一個簡單的虛擬列表

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

    虛擬列表是現(xiàn)在比較常用的前端渲染大數(shù)據(jù)列表的方案,目前也有很多組件庫和工具庫也都有對應(yīng)的實現(xiàn),本文將給大家介紹一下如何用React實現(xiàn)一個簡單的虛擬列表,文中通過代碼示例講解的非常詳細(xì),需要的朋友可以參考下
    2023-12-12
  • react-native使用react-navigation進行頁面跳轉(zhuǎn)導(dǎo)航的示例

    react-native使用react-navigation進行頁面跳轉(zhuǎn)導(dǎo)航的示例

    本篇文章主要介紹了react-native使用react-navigation進行頁面跳轉(zhuǎn)導(dǎo)航的示例,具有一定的參考價值,有興趣的可以了解一下
    2017-09-09
  • 一文帶你了解React中的并發(fā)機制

    一文帶你了解React中的并發(fā)機制

    React 18.2.0 引入了一系列并發(fā)機制的新特性,旨在幫助各位開發(fā)者更好地控制和優(yōu)化應(yīng)用程序的性能和用戶體驗,下面我們就來看看如何利用這些新特性構(gòu)建更高效、更響應(yīng)式的應(yīng)用程序吧
    2024-03-03

最新評論

五家渠市| 云霄县| 普安县| 津南区| 抚宁县| 论坛| 洛阳市| 宣武区| 会理县| 中阳县| 新泰市| 五莲县| 华阴市| 扎囊县| 五大连池市| 曲水县| 阳江市| 江达县| 滨州市| 土默特左旗| 罗甸县| 五指山市| 清镇市| 兴化市| 安庆市| 扬中市| 且末县| 涿鹿县| 十堰市| 阳高县| 武川县| 郸城县| 邮箱| 柘城县| 连山| 蒙城县| 丁青县| 武安市| 汽车| 安乡县| 邵阳县|