Вот из-за этого свойства столкнулся сегодня с неприятным моментом. У меня форма обратной связи выводилась в модальном окне, которое как раз отображалось и скрывалось с помощью transform: scale. Вот только хоть модального окна с формой и не было видно на экране, ссылка с рекапчи была полностью кликабельна и она находилась прямо над кнопкой мобильного меню. В итоге при клике по кнопке меню происходил переход на сайт гугла. Пришлось добавлять visability: hidden, что решило проблему.
Из документации React:
this.setState является асинхронной функцией и поэтому несколько вызовов этой функции в одном цикле может привести к объединению этих вызовов. Например, если мы захотим увеличить количество товара на 1 больше одного раза за цикл, то получим следующий результат:
Object.assign(
previousState,
{quantity: state.quantity + 1},
{quantity: state.quantity + 1},
…
)
Последующий вызов this.setState в одном цикле будет перезаписывать предыдущий, поэтому количество товара будет увеличено только один раз. Если новое состояние зависит от предыдущего, то мы рекомендуем использовать вариант setState с вызовом функции:
this.setState((state) => {
return {quantity: state.quantity + 1};
}); Документация
Подсмотрел отсюда stackoverflow
this.setState является асинхронной функцией и поэтому несколько вызовов этой функции в одном цикле может привести к объединению этих вызовов. Например, если мы захотим увеличить количество товара на 1 больше одного раза за цикл, то получим следующий результат:
Object.assign(
previousState,
{quantity: state.quantity + 1},
{quantity: state.quantity + 1},
…
)
Последующий вызов this.setState в одном цикле будет перезаписывать предыдущий, поэтому количество товара будет увеличено только один раз. Если новое состояние зависит от предыдущего, то мы рекомендуем использовать вариант setState с вызовом функции:
this.setState((state) => {
return {quantity: state.quantity + 1};
});
Документация