Arsen CeH9
только класс должен был называться PartOfMyState а не весь стейт, чтобы соответствовать примеру
1) весь стейт, только если все поля равны, иначе остановится на первом (тк && ленивый)
2) если в data класса поменял только одно поле, то остальные будут быстро сравниваться по ссылке
3) сравнение стрингов интрисифицировано и достаточно быстрое
4) зато НЕ будет ложны срабатываний, из-за которых будет ненужная перерисовка UI
вообще я бы не советовал никому таким заниматься, без серьезного подхода с профилированием