Объединяет ли mobx несколько изменений состояний в один вызов?
Если использовать useState, и вызывать функцию которая изменит его два раза, то приложение отрисуется два раза, а если сделать такую же логику в mobx? он отрисуется один раз?
я хочу при обновления двух стейтов, что бы они объединились в одно обновление стейта, и приложение отрисовалось один раз как в react 18 )
insighter, честно говоря, без понятия.)
И что значит "старые версии"? 16 и 17 реакты? Потому что хуки только в 16 появились, а в классовых компонентах нет необходимости в батчинге.
Короче я не поленился и проверил, не батчатся обработчики, которые руками привязали к событиям.
Получается в 16-17 версиях они просто приостанавливали обновление состояний до тех пор пока обрабатываются синтетические события, никакой магии, расходимся
здесь при нажатии на кнопку 2 ререндера, первый из которых с разными числами. Если в хендлере заменить store.inc1();store.inc2(); на store.incAll(), который оборачивает всё в один экшен, то уже один рендер. Ну а если просто убрать setTimeout, то всегда один рендер из-за реактовского батчинга.