Hele a jakto ze mi funguje v reactu nasetovat neaco na hulvata this.state.foo.amount = 100; a pak dat this.setState({}); a ono se to stejne pak updatuje?
Pokud ti to zařve, že foo je undefined, tak ti to funguje. Pokud ti to někde ukáže 100, tak ti to nefunguje, protože ve stavu aplikace foo nemáš, ale stejně ti ho to ukazuje.
Tipuju, že tam máš nějakou prasárnu jako že to foo si někde ukládáš do proměnné a tu následně zobrazuješ. V tom případě prvním statementem změníš objekt a následně setState({}) vyvoláš re-render celého podstromu. A proto se ti to aktualizuje. Když ale budeš pak chtít změnit amount třeba na 200, tak ti to nepůjde, už proto, že ti ten nastavovací příkaz vynadá "Cannot set property 'amount' of undefined". (A zase budeš nadávat, jak je ten React nanic, když si za to přitom můžeš sám svým prasením.)
Me jde o to, ze jestli v tom jsou jenom perfromance issues, tak bych se na to vykvakl alespon v prubehu prototypovani.
Ne, to není o performance, to je o konzistenci stavu aplikace. Přestaň prasit, používej funkcionální komponenty jako normální člověk, pak budeš dělat:
setFoo({...fFoo, amount});
což je kratší a jednodušší než to, co jsi napsal.