Get Mystery Box with random crypto!

Какой второй опциональный аргумент может быть передан setState | Тостер

Какой второй опциональный аргумент может быть передан setState() и в чем его назначение?

Таким аргументом является коллбек, вызываемый после обновления состояния и повторного рендеринга компонента.

Функция setState() является асинхронной, поэтому она принимает коллбек в качестве второго параметра.

Как правило, лучше использовать другой метод жизненного цикла, чем полагаться на этот коллбек, но не лишним будет знать о такой возможности.

this.setState(
{ username: 'Alex' },
() => console.log('Обновление состояние завершено и компонент повторно отрисован.')
)

setState() всегда влечет за собой повторный рендеринг, пока shouldComponentUpdate() не вернет false. Во избежание лишних рендерингов, вызывайте setState() только когда новое состояние отличается от предыдущего. Также избегайте вызова setState() в таких методах жизненного цикла, как componentDidUpdate(), поскольку это может привести к бесконечному циклу.

#react