Реагирование на предупреждение повторяется 2 раза

#reactjs

Вопрос:

Я писал простой код в react и пытался сгладить массив, но когда я это делаю, он предупреждает меня 2 раза, хотя я использовал Blocks.flat() только один раз. Любая помощь будет оценена по достоинству!

 const [Blocks, setBlocks] = React.useState(blocks);
alert(Blocks.flat());
 

Обратите внимание, что когда вы выполняете console.log, этого не происходит, он регистрирует это только один раз.

Комментарии:

1. IIRC, это происходит в dev, потому что React дважды отобразит ваш компонент, чтобы убедиться, что он каждый раз отображается одинаково. Либо это, либо у вас есть что-то еще, вызывающее повторную визуализацию. В любом случае, это не ошибка, вы просто не должны предупреждать внутри своего компонента. Или, если вы действительно хотите, поместите это в a useCallback и добавьте в событие onClick или useEffect