Opravte zobrazení „0“ ve vašem kódu JSX

Začátky webu byly, pokud jde o praktiky kódování, jako na divokém západě – stačí, aby to fungovalo. Poté jsme získali osvícení k lepším postupům, oddělením HTML od CSS a JavaScriptu. Pak přišel React a JSX, kde kombinujeme JavaScript, HTML a dokonce CSS se stylovými komponentami – jaký elegantní nepořádek jsme udělali!

Jednou za čas jsem součástí toho nepořádku, když vidím 0 zobrazení ve výstupu mého kódu JSX, a bylo mi připomenuto proč:nesprávné zacházení s psaním proměnných v kombinaci s použitím && . Nech mě to vysvětlit!

Jeden z oblíbených vzorů v JSX je:

<div>Some header</div>
{someValue && <div>Some header</div>}

Vzor dává smysl, ale podívejte se na rozdíl ve výstupech mezi typy řetězců a čísel:

"0" && "Thing"
> "Thing"
0 && "Thing"
> 0

Všimněte si, že hodnota řetězce 0 umožňuje vrátit druhou hodnotu, ale číslo napsané 0 jednoduše vrátí 0 . Nejlepším postupem je vždy přetypovat hodnotu na Boolean ve vašem JSX:

{Boolean(value) && ....}

Strojopis a dokonce PropTypes může pomoci zachytit tyto problémy, ale i ostřílení veteráni někdy narazí na tyto bolestivé body.