91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

react組件mount好幾次如何解決

發布時間:2023-01-28 14:45:49 來源:億速云 閱讀:106 作者:iii 欄目:web開發

這篇文章主要講解了“react組件mount好幾次如何解決”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“react組件mount好幾次如何解決”吧!

react組件mount好幾次的解決辦法:1、找到并打開“index.tsx”或者“index.js”文件;2、找到“root.render(<React.StrictMode><App /></React.StrictMode>);”代碼;3、將“React.StrictMode”高階組件包圍去掉即可。

React 18 componentDidMount重復執行兩次的解決方案

問題

這兩天用create-react-app創建了一個新的React項目,在項目運行的時候,似乎有意想不到的事情發生,組件的componentDidMount方法被觸發了兩次。

react組件mount好幾次如何解決

而更早的項目,同樣采用create-react-app創建的一個項目,卻沒有這個問題,當時真是一臉懵逼。。。

排查

首先想到的是前幾天將本地的create-react-app升級過,問題是不是create-react-app升級導致的,轉而一想應該沒關系。后來去仔細比較了兩個項目的package.json文件,發現之前的項目,React用的是17.x版本;而問題項目用的卻是18.2.0版本的React。

后來去React官方Github,果然找到關于18版本的一些Featur

Stricter Strict Mode: In the future, React will provide a feature that lets components preserve state between unmounts. To prepare for it, React 18 introduces a new development-only check to Strict Mode. React will automatically unmount and remount every component, whenever a component mounts for the first time, restoring the previous state on the second mount. If this breaks your app, consider removing Strict Mode until you can fix the components to be resilient to remounting with existing state.

大意如下:

在未來,React會提供一個新特性,該特性會使得組件取消加載后能維持狀態。React 18會再Strict Mode中引入一個新的開發模式。React將會對每一個組件自動取消加載并重新加載。如果其干擾了你的應用,移除Strict Mode就能夠修復組件重新加載的問題。

解決方案

知道了原因之后,解決方案也很簡單,將index.tsx或者index.js文件里的React.StrictMode高階組件包圍去掉即可。

修改前:

root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

修改后:

root.render(
  // 去除React.StrictMode
  // <React.StrictMode>
    <App />
  // </React.StrictMode>
);

感謝各位的閱讀,以上就是“react組件mount好幾次如何解決”的內容了,經過本文的學習后,相信大家對react組件mount好幾次如何解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

边坝县| 芜湖县| 赤水市| 区。| 辉南县| 黑水县| 城固县| 安岳县| 犍为县| 平和县| 莱芜市| 昌江| 双桥区| 马尔康县| 新野县| 平遥县| 贵南县| 池州市| 彭山县| 关岭| 满洲里市| 白玉县| 华坪县| 迭部县| 灵石县| 林甸县| 米易县| 梓潼县| 商水县| 郯城县| 乐平市| 盘锦市| 锡林郭勒盟| 湟源县| 无为县| 兴隆县| 泸西县| 五台县| 剑川县| 兰溪市| 墨脱县|