Я опаздываю на одну вещь:
const [object, setObject] = useState(new SomeObject());
Здесь мы создаем экземпляр SomeObject
на каждый повторный рендеринг . Затем, если это начальный рендеринг компонента, он возвращается к object
, в противном случае он просто отбрасывается.
Все, что передано в качестве начального аргумента, оценивается и отбрасывается снова и снова. Также лучше быть чистым, поскольку повторные визуализации могут происходить в произвольные интервалы и в произвольных количествах. Учитывая, что построение некоторых объектов или больших массивов может быть довольно дорогим, не слишком ли это неоптимально?
Какое здесь решение? Я что-то неправильно понимаю, или такая элементарная функция в React реализована таким неоптимальным образом?