Этот вопрос закрыт для ответов, так как повторяет вопрос Почему компонент рендерится 4 раза?
@hinie

Почему UseEffect срабатывает 2 раза при React.StrictMode?

Здравствуйте, почему useEffect срабатывает 2 раза при <React.StrictMode>
<!DOCTYPE html>
<html>

<head>
	<script src="https://unpkg.com/react@18/umd/react.development.js" crossorigin></script>
	<script src="https://unpkg.com/react-dom@18/umd/react-dom.development.js" crossorigin></script>
	<script src="https://unpkg.com/@babel/standalone/babel.min.js"></script>
</head>

<body>

	<div id="root"></div>

	<script type="text/babel">
		function App() {
			React.useEffect(() => {
				alert(0);
			}, []);

			return (
				<div className="App">
				</div>
			);
		}

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

</body>

</html>

И почему удаление <React.StrictMode> решает проблемму?
  • Вопрос задан
  • 2634 просмотра
Ответы на вопрос 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега React
Потому что в development режиме StrictMode так работает.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы