Почему мой компонент бесконечно перерисовывается при использовании useState внутри setTimeout?Javascript

Форум по Javascript
Ответить
Anonymous
 Почему мой компонент бесконечно перерисовывается при использовании useState внутри setTimeout?

Сообщение Anonymous »

Я создаю компонент живых часов в React, используя useState и setTimeout. Цель состоит в том, чтобы обновлять время каждую секунду. Однако как только компонент монтируется, он запускает бесконечные повторные рендеринги и в конечном итоге приводит к сбою вкладки.
import React, { useState } from 'react';

function LiveClock() {
const [time, setTime] = useState(new Date().toLocaleTimeString());

setTimeout(() => {
setTime(new Date().toLocaleTimeString());
}, 1000);

return Current Time: {time};
}

export default LiveClock;


Подробнее здесь: https://stackoverflow.com/questions/798 ... a-settimeo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»