Junior
Mit nem szabad írni a JavaScript kódban JSX keretében?
sobes.tech MI
Válasz az MI-től
Nem szabad a következő szerkezeteket használni:
- hozzárendelő operátorokat (kivéve az attribútumokon belül, ahol értéket rendelnek hozzá).
- feltételes (ternáris) operátort explicit érték visszaadása nélkül (
?:). - ciklusokat (
for,while,do/while) JSX elemeket visszaadó függvényekben való használat nélkül. if/elseutasításokat JSX elemeket visszaadó függvényekben való használat nélkül vagy a ternáris operátor használata nélkül.- kódrészeket (
{}) explicit JSX visszatérés nélkül (pl. csak változó deklarációk). - beágyazott kommenteket
// JSX-benvagy/* JSX-ben */, kivéve kommenteket operátorok vagy attribútumok/elemek között.
Engedélyezett:
- értéket visszaadó kifejezéseket (változók, függvények, metódushívások).
- logikai operátorokat
&&és||. - feltételes operátort
? :. - objektumokat és tömböket (ha listaként vagy elemként renderelik őket).
- tömbmetódushívásokat (
map,filter, stb.), amelyek JSX elemeket adnak vissza. - JSX elemeket visszaadó függvényeket.
Példa
// Nem megengedett
const element = <p>
let x = 10; // hozzárendelés
x++; // növelés
</p>;
// Nem megengedett
const element = <p>
if (condition) { // if utasítás
return 'True';
} else {
return 'False';
}
</p>;
// Engedélyezett függvényekkel
const renderContent = (condition) => {
if (condition) {
return <p>'True'</p>;
} else {
return <p>'False'</p>;
}
};
const element = <div>{renderContent(true)}</div>;
// Ternáris operátorral engedélyezett
const element = <p>{condition ? 'True' : 'False'}</p>;
// &&-val engedélyezett
const element = <div>{condition && <p>Visible</p>}</div>;
// map-kel engedélyezett
const listItems = items.map(item => <li key={item.id}>{item.name}</li>);
const element = <ul>{listItems}</ul>;