A ja nevim, proc jste vy prekvapen, ze nekdo je prekvapen zavolanim funkce v komponente, ktere se vubec nezmenil stav.
React se o žádné stavy nestará. Komponenta v Reactu je funkce, která vrací virtuální DOM. Ten následně Reat porovná se skutečným domem a aplikuje na něj změny. React vám akorát poskytuje hooky, kterými můžete signalizovat, že teď je potřeba tu funkci zavolat znovu. Je jenom na vás, kdy budete tu funkci volat. Ale když ji zavoláte, musí se provést, celá – React samozřejmě nemá žádné prostředky, jak by mohl zařídit, aby se provedlo půl kódu funkce a půlka se vynechala.
Vite moc dobre o co se tady snazim
Ne, nevím. Zatím mi to připadá, že akorát trollíte.
nedokazate to vysvetlit, ocividne tomu sam poradne nerozumite.
Nedokážu vysvětlit co?
{{ foodEntry.getTotalCalories() }}
Tady voláte nějakou metodu na objektu. Tedy možná, netuším, co znamenají ty dvojité závorky. Není to ani Vue, protože tam byste nevolal žádnou metodu, jen byste četl stav. Není to ani React, protože ani tam byste nevolal metodu.
{{ foodEntry.amount / 100 * foondEntry.calories }}
Tady může být
foodEntry stav jak ve Vue tak v Reactu.
Od toho ty slozene zavorky hergot jsou!
Složené závorky jsou ve Vue proto, abyste mohl do šablony vložit data. V Reactu proto, abyste mohl do šablony vložit kód.
Vue to ma i v dokumentaci, ze se v tom delaji takovehle veci, od toho to sakra je.
Ne, Vue má v dokumentaci, že se takovýmhle věcem máte vyhnout.
Muj kod je dukazem toho, ze vyse uvedeny vyraz se vykona 4999x.
Asi byste se neměl pouštět do programování, když vás překvapuje, že počítač udělá přesně to, co mu řeknete. Když mu řeknete, že má nějaký výraz vykonat 4999×, tak ho vykoná 4999×. Pokud se tolikrát vykonávat nemá, je to vaše chyba, že takový příkaz dáváte, ne chyba počítače, že váš příkaz přesně vykoná.