Junior
Šta nije dozvoljeno da se piše u JavaScript kodu u okviru JSX?
sobes.tech АИ
Одговор од АИ
Nije dozvoljeno koristiti sledeće konstrukcije:
- Operator za dodelu (
=) (osim unutar atributa gde se dodeljuje vrednost). - Ternarni operator bez eksplicitnog vraćanja vrednosti (
?:). - Petlje (
for,while,do/while) bez obavijanja u funkcije koje vraćaju JSX elemente. - Izjave
if/elsebez obavijanja u funkcije koje vraćaju JSX elemente ili bez korišćenja ternarnog operatora. - Blokovi koda (
{}) bez eksplicitnog vraćanja JSX elemenata (npr. samo deklaracije promenljivih). - Ugnježdeni komentari
// unutar JSXili/* unutar JSX */, osim komentara nakon operatora ili između atributa/elemenata.
Dozvoljeno je koristiti:
- Izraze koji vraćaju vrednosti (promenljive, funkcije, pozivi metoda).
- Logičke operatore
&&i||. - Ternarni operator
? :. - Objekte i nizove (ako se renderuju kao lista ili element).
- Pozive metoda nizova (
map,filter, itd.) koji vraćaju JSX elemente. - Funkcije koje vraćaju JSX elemente.
Primer
// Nije dozvoljeno
const element = <p>
let x = 10; // Dodela
x++; // Inkrement
</p>;
// Nije dozvoljeno
const element = <p>
if (condition) { // if instrukcija
return 'True';
} else {
return 'False';
}
</p>;
// Dozvoljeno sa funkcijama
const renderContent = (condition) => {
if (condition) {
return <p>'True'</p>;
} else {
return <p>'False'</p>;
}
};
const element = <div>{renderContent(true)}</div>;
// Dozvoljeno sa ternarnim operatorom
const element = <p>{condition ? 'True' : 'False'}</p>;
// Dozvoljeno sa &&
const element = <div>{condition && <p>Visible</p>}</div>;
// Dozvoljeno sa map
const listItems = items.map(item => <li key={item.id}>{item.name}</li>);
const element = <ul>{listItems}</ul>;