React StrictMode 是一個用于檢測潛在問題的工具,它會在開發模式下對組件進行額外的檢查,并在控制臺顯示警告信息。
React StrictMode 會對組件進行兩次渲染,一次是為了檢測潛在問題,另一次是為了實際渲染組件。這意味著在使用 React StrictMode 時,組件的 constructor 方法會被調用兩次。
第一次調用 constructor 是在檢測階段,React StrictMode 會創建一個組件的假實例(也就是虛擬實例),這個假實例用來檢查是否存在不安全的生命周期方法、使用已棄用的 API 等問題。
第二次調用 constructor 是在實際渲染階段,React StrictMode 會創建一個真實的組件實例并渲染到頁面上。
因此,如果你在組件的 constructor 方法中執行了一些副作用操作或者有一些需要特殊處理的邏輯,那么這些邏輯可能會被執行兩次。所以在使用 React StrictMode 時,建議將副作用操作和特殊處理的邏輯移至 componentDidMount 生命周期方法中,以避免重復執行。