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

解決React初始化加載組件會渲染兩次的問題

 更新時間:2023年08月11日 10:42:23   作者:CoderLiu  
這篇文章主要介紹了解決React初始化加載組件會渲染兩次的問題,文中有出現(xiàn)這種現(xiàn)象的原因及解決方法,感興趣的同學(xué)跟著小編一起來看看吧

React組件在初始加載時渲染兩次:

import React from 'react'
export default function App() {
  console.log('被加載')
  return <div>App</div>
}

如上在控制臺我們會看到輸出了兩次'被加載'

出現(xiàn)這種現(xiàn)象的原因是:

由于是使用腳手架創(chuàng)建項目,默認(rèn)會開啟嚴(yán)格模式,在嚴(yán)格模式下,React 的開發(fā)環(huán)境會刻意執(zhí)行兩次渲染,用于突出顯示潛在問題。

如果不想出現(xiàn)這個問題,可以將入口文件中的嚴(yán)格模式去除:

ReactDOM.createRoot(document.getElementById('root')).render(
  <React.StrictMode>
    <App></App>
  </React.StrictMode>,
);

ReactDOM.createRoot(document.getElementById('root')).render(<App />)

關(guān)于嚴(yán)格模式

StrictMode 是一個用來突出顯示應(yīng)用程序中潛在問題的工具。與 Fragment 一樣,StrictMode 不會渲染任何可見的 UI。它為其后代元素觸發(fā)額外的檢查和警告。

嚴(yán)格模式檢查僅在開發(fā)模式下運行;它們不會影響生產(chǎn)構(gòu)建。

你可以將整個應(yīng)用程序或者部分組件包裹在 <React.StrictMode> 標(biāo)簽中,來啟用嚴(yán)格模式。

import React from 'react';
const App = () => {
  return (
    <React.StrictMode>
      {/* 你的應(yīng)用程序組件 */}
    </React.StrictMode>
  );
};
export default App;

嚴(yán)格模式會執(zhí)行以下檢查和優(yōu)化:

  • 檢測過時的生命周期方法:React 在未來版本中可能會移除一些過時的生命周期方法。嚴(yán)格模式會在開發(fā)中給出警告,幫助你更早地發(fā)現(xiàn)和更新你的代碼。
  • 檢測不安全的生命周期方法:在未來的 React 版本中,某些生命周期方法可能會在異步渲染模式下不再保證同步調(diào)用。嚴(yán)格模式下,如果你在 render 方法中使用了 setState,會收到一個警告。
  • 檢測廢棄的 context API 使用:嚴(yán)格模式會檢查是否存在使用過時的 context API。
  • 檢測副作用:嚴(yán)格模式會在渲染兩次組件并比較結(jié)果后,觸發(fā)額外的渲染以幫助你檢測潛在的副作用問題。
  • 棄用 findDOMNode 的警告:React 17 已經(jīng)不再支持在嚴(yán)格模式下使用 findDOMNode,會在開發(fā)環(huán)境中給出警告。

React 的嚴(yán)格模式從 React 16.3 版本開始引入,并且在后續(xù)版本中得到了改進(jìn)和完善。具體來說:

  • React 16.3: 引入了 <React.StrictMode>,用于啟用嚴(yán)格模式。它幫助開發(fā)者在開發(fā)環(huán)境下發(fā)現(xiàn)潛在問題,并鼓勵使用一些最佳實踐。
  • React 16.6: 引入了關(guān)于生命周期的警告,以幫助開發(fā)者在未來適應(yīng)異步渲染模式。
  • React 16.9: 繼續(xù)增強(qiáng)了嚴(yán)格模式的功能,包括對不安全的生命周期用法的檢測和警告。
  • React 17: 嚴(yán)格模式繼續(xù)存在,但沒有太多的變化。React 17 引入了一些關(guān)于副作用的警告,以及在嚴(yán)格模式下棄用 findDOMNode 的警告。

到此這篇關(guān)于解決React初始化加載組件會渲染兩次的問題的文章就介紹到這了,更多相關(guān)React加載組件渲染兩次內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • React反向代理及樣式獨立詳解

    React反向代理及樣式獨立詳解

    這篇文章主要介紹了React反向代理及樣式獨立詳解,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-08-08
  • React超詳細(xì)講述Fiber的使用

    React超詳細(xì)講述Fiber的使用

    在fiber出現(xiàn)之前,react的架構(gòu)體系只有協(xié)調(diào)器reconciler和渲染器render。當(dāng)前有新的update時,react會遞歸所有的vdom節(jié)點,如果dom節(jié)點過多,會導(dǎo)致其他事件影響滯后,造成卡頓。即之前的react版本無法中斷工作過程,一旦遞歸開始無法停留下來
    2023-02-02
  • 詳解在React項目中如何集成和使用web worker

    詳解在React項目中如何集成和使用web worker

    在復(fù)雜的React應(yīng)用中,某些計算密集型或耗時操作可能會阻塞主線程,導(dǎo)致用戶界面出現(xiàn)卡頓或響應(yīng)慢的現(xiàn)象,為了優(yōu)化用戶體驗,可以采用Web Worker來在后臺線程中執(zhí)行這些操作,本文將詳細(xì)介紹在React項目中如何集成和使用Web Worker來改善應(yīng)用性能,需要的朋友可以參考下
    2023-12-12
  • react中fetch之cors跨域請求的實現(xiàn)方法

    react中fetch之cors跨域請求的實現(xiàn)方法

    本篇文章主要介紹了react中fetch之cors跨域請求的實現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • React Native提供自動完成的下拉菜單的方法示例

    React Native提供自動完成的下拉菜單的方法示例

    這篇文章主要為大家介紹了React Native提供自動完成的下拉菜單的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • React學(xué)習(xí)之JSX與react事件實例分析

    React學(xué)習(xí)之JSX與react事件實例分析

    這篇文章主要介紹了React學(xué)習(xí)之JSX與react事件,結(jié)合實例形式分析了React中JSX表達(dá)式、屬性、嵌套與react事件相關(guān)使用技巧,需要的朋友可以參考下
    2020-01-01
  • React自定義Hook-useForkRef的具體使用

    React自定義Hook-useForkRef的具體使用

    本文主要介紹了React自定義Hook-useForkRef的具體使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • React?Native?的動態(tài)列表方案探索詳解

    React?Native?的動態(tài)列表方案探索詳解

    這篇文章主要為大家介紹了React?Native?的動態(tài)列表方案探索示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • React?Hooks使用startTransition與useTransition教程示例

    React?Hooks使用startTransition與useTransition教程示例

    這篇文章主要為大家介紹了React?Hooks使用startTransition與useTransition教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • React useState超詳細(xì)講解用法

    React useState超詳細(xì)講解用法

    我正在處理的組件是表單的時間輸入。表單相對復(fù)雜,并且是動態(tài)生成的,根據(jù)嵌套在其他數(shù)據(jù)中的數(shù)據(jù)顯示不同的字段。我正在用useReducer管理表單的狀態(tài),到目前為止效果很好
    2022-11-11

最新評論

高安市| 旬阳县| 如东县| 关岭| 民勤县| 金沙县| 大厂| 汽车| 克拉玛依市| 苍溪县| 盘锦市| 衡阳市| 霍邱县| 郯城县| 尚志市| 长岭县| 新余市| 天等县| 翁牛特旗| 长兴县| 通海县| 且末县| 泰兴市| 固原市| 资源县| 金华市| 通州市| 民县| 皮山县| 金溪县| 杨浦区| 五台县| 海口市| 噶尔县| 丘北县| 基隆市| 富宁县| 论坛| 响水县| 重庆市| 五华县|