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

React報錯信息之Expected?an?assignment?or?function?call?and?instead?saw?an?expression

 更新時間:2022年08月20日 09:18:51   作者:chuckQu  
這篇文章主要介紹了React報錯之Expected?an?assignment?or?function?call?and?instead?saw?an?expression,下面有兩個示例來展示錯誤是如何產(chǎn)生的,需要的朋友可以參考下

正文從這開始~

總覽

當我們忘記從函數(shù)中返回值時,會產(chǎn)生"Expected an assignment or function call and instead saw an expression"錯誤。為了解決該錯誤,確保顯式地使用return語句或使用箭頭函數(shù)隱式返回。

下面有兩個示例來展示錯誤是如何產(chǎn)生的。

// App.js

const App = props => {
  const result = ['a', 'b', 'c'].map(el => {
    // ?? Expected an assignment or function call and instead saw an expression. eslint no-unused-expressions
    el + '100';
  });

  return <div>hello world</div>;
};

const mapStateToProps = (state) => {
  // ?? Expected an assignment or function call and instead saw an expression. eslint no-unused-expressions
  todos: ['walk the dog', 'buy groceries']
}

export default App;

App組件中,錯誤是在Array.map()方法中引起的。這里的問題在于,我們沒有從傳遞給map()方法的回調(diào)函數(shù)中返回任意值。

在JavaScript函數(shù)中,如果我們沒有顯式地使用return語句,或者使用箭頭函數(shù)隱式地返回一個值,則返回undefined。

mapStateToProps函數(shù)中的問題是一樣的,我們忘記從函數(shù)中返回值。

顯式返回

為了解決該錯誤,我們必須顯式地使用return語句或使用箭頭函數(shù)隱式返回值。

下面是一個例子,用來說明如何使用顯式return來解決這個錯誤。

const App = props => {
  const result = ['a', 'b', 'c'].map(el => {
    return el + '100'; // ??? using explicit return
  });

  console.log(result);

  return <div>hello world</div>;
};

const mapStateToProps = state => {
  return {todos: ['walk the dog', 'buy groceries']}; // ??? using explicit return
};

export default App;

我們通過在map()方法中顯式返回來解決問題。這是必須的,因為Array.map方法返回一個數(shù)組,其中包含我們傳遞給它的回調(diào)函數(shù)所返回的所有值。

需要注意的是,當你從一個嵌套函數(shù)中返回時,你并沒有同時從外層函數(shù)中返回。

隱式返回

另一種方法是使用箭頭函數(shù)的隱式返回。

// ??? implicit return
const App = props => (
  <div>
    <h2>hello</h2>
    <h2>world</h2>
    {['a', 'b', 'c'].map(element => (
      <div key={element}>{element}</div>
    ))}
  </div>
);

// ??? implicit return
const result = ['a', 'b', 'c'].map(element => element + '100');
console.log(result); // ??? ['a100', 'b100', 'c100']

// ??? implicit return
const mapStateToProps = state => ({
  todos: ['walk the dog', 'buy groceries'],
});

export default App;

我們?yōu)?code>App組件使用了隱式地箭頭函數(shù)返回。

需要注意的是,我們根本沒有使用大括號。簡短的隱式返回使用圓括號。

返回對象

如果我們使用隱式返回來返回一個對象,我們必須用圓括號來包裹這個對象。

// ? RIGHT
const mapStateToProps = state => ({
  todos: ['walk the dog', 'buy groceries'],
});

// ?? WRONG
const msp = state => {
  // ?? Expected an assignment or function call and instead saw an expression.eslint no-unused-expressions
  todos: ['walk the dog', 'buy groceries']
};

一個簡單的思考方式是--當你使用大括號而沒有用圓括號包裹它們時,你是在聲明一個代碼塊(比如if語句)。

{
  console.log('this is my block of code');
}

當不使用圓括號時,你有一個代碼塊,而不是一個對象。

但當你用圓括號包裹住大括號時,你就有一個隱式的箭頭函數(shù)返回。

如果你認為eslint規(guī)則不應該在你的方案中造成錯誤,你可以通過使用注釋來關閉某一行的eslint規(guī)則。

// eslint-disable-next-line no-unused-expressions

注釋應該放在造成錯誤的那一行的正上方。

到此這篇關于React報錯之Expected an assignment or function call and instead saw an expression的文章就介紹到這了,更多相關React報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • ChatGLM?集成LangChain工具詳解

    ChatGLM?集成LangChain工具詳解

    這篇文章主要為大家介紹了Svelte和React框架使用比較,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • React18新增特性介紹

    React18新增特性介紹

    react歷次版本迭代主要想解決的是兩類導致網(wǎng)頁卡頓的問題,分別是cpu密集型任務和io密集型任務導致的卡頓問題,react18新增特性就是為了解決上述問題
    2022-09-09
  • react國際化化插件react-i18n-auto使用詳解

    react國際化化插件react-i18n-auto使用詳解

    這篇文章主要介紹了react國際化化插件react-i18n-auto使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • react的嚴格模式和解決react useEffect執(zhí)行兩次問題

    react的嚴格模式和解決react useEffect執(zhí)行兩次問題

    文章總結(jié):本文詳細探討了React中useEffect執(zhí)行兩次的問題,主要歸因于React的嚴格模式,嚴格模式在開發(fā)模式下會故意重復調(diào)用一些生命周期方法,以幫助開發(fā)者發(fā)現(xiàn)潛在的問題,包括不安全的生命周期、過時的ref API、廢棄的findDOMNode方法、意外的副作用等
    2025-01-01
  • Jira 任務管理系統(tǒng)項目總結(jié)講解

    Jira 任務管理系統(tǒng)項目總結(jié)講解

    這篇文章主要為大家介紹了Jira 任務管理系統(tǒng)項目總結(jié)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 如何將你的AngularJS1.x應用遷移至React的方法

    如何將你的AngularJS1.x應用遷移至React的方法

    本篇文章主要介紹了如何將你的AngularJS1.x應用遷移至React的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • React組件的創(chuàng)建與state同步異步詳解

    React組件的創(chuàng)建與state同步異步詳解

    這篇文章主要介紹了react組件實例屬性state,有狀態(tài)state的組件稱作復雜組件,沒有狀態(tài)的組件稱為簡單組件,狀態(tài)里存儲數(shù)據(jù),數(shù)據(jù)的改變驅(qū)動頁面的展示,本文結(jié)合實例代碼給大家詳細講解,需要的朋友可以參考下
    2023-03-03
  • React18+TS通用后臺管理系統(tǒng)解決方案落地實戰(zhàn)示例

    React18+TS通用后臺管理系統(tǒng)解決方案落地實戰(zhàn)示例

    這篇文章主要為大家介紹了React18+TS通用后臺管理系統(tǒng)解決方案落地實戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08
  • React實現(xiàn)生成和導出Word文檔的方法詳解

    React實現(xiàn)生成和導出Word文檔的方法詳解

    React是一個流行的JavaScript庫,用于構(gòu)建現(xiàn)代前端應用程序,本文將深入探討如何在React中生成和導出Word文檔,感興趣的小伙伴可以學習一下
    2023-09-09
  • redux功能強大的Middleware中間件使用學習

    redux功能強大的Middleware中間件使用學習

    這篇文章主要為大家介紹了redux功能強大的Middleware中間件使用學習,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09

最新評論

陈巴尔虎旗| 灵山县| 库尔勒市| 琼结县| 双牌县| 兴国县| 阳高县| 克什克腾旗| 九龙城区| 宣武区| 邳州市| 兴隆县| 白银市| 天台县| 丰镇市| 凤山市| 青铜峡市| 凤冈县| 秦皇岛市| 台州市| 富平县| 延津县| 鄂尔多斯市| 都江堰市| 翁源县| 饶河县| 宁都县| 玉树县| 华宁县| 雷山县| 安国市| 三江| 博白县| 凤山市| 普兰店市| 基隆市| 西贡区| 迁安市| 安庆市| 扶绥县| 海城市|