React është një bibliotekë e njohur për krijimin e aplikacioneve në ueb dhe aplikacioneve celulare.
Në këtë artikull, ne do të shikojmë disa këshilla për të shkruar aplikacione më të mira React.
Kaloni me kusht Prop Inline te një komponent
Ne mund të kalojmë me kusht prop inline në një komponent duke kaluar në një shprehje si vlerë mbështetëse.
Për shembull, mund të shkruajmë:
<Child {...(this.props.canEdit ? { editOptions : this.state.options } : undefined)} >
Ne kontrollojmë shtyllën canEdit
për të parë nëse është e vërtetë.
Nëse është, atëherë i kalojmë fëmijës në mbështetësen editOptions
.
Ndryshe kaluam në undefined
.
Ne përdorim operatorin spread për të përhapur objektet e kthyera në mbështetëse.
Përdorni një ose shumë grepa useEffect në një komponent React
Mund ta përdorim grepin useEffect
sa herë të duam.
Për shembull, mund të shkruajmë:
useEffect(() => { // run code return () => { // run clean up code } }, []); useEffect(() => { // run code when props.foo changes return () => { // run clean up code when props.foo changes } }, [props.foo])
Thirrja e parë useEffect
përdoret për ekzekutimin e kodit kur ngarkohet komponenti.
Funksioni që kthejmë ekzekutohet kur komponenti çmontohet.
Në thirrjen e dytë useEffect
, ne ekzekutojmë kodin kur props.foo
ndryshon.
Dhe funksioni që kthehet ekzekuton kodin e pastrimit kur ndryshon props.foo
.
Është i dobishëm për të shkaktuar ndonjë efekt anësor si një thirrje API ose diçka të tillë.
Kaloni objektin e vetive te komponenti fëmijë
Ne mund t'i kalojmë vetitë e një objekti tek një komponent fëmijë duke përdorur operatorin e përhapjes së objektit.
Për shembull, mund të shkruajmë:
return <Child {...props} />;
Të gjitha vetitë në objektin props
do të kalohen në Child
si mbështetëse.
Shmangni lidhjen e 'këtë' me çdo metodë
Ne mund të shmangim lidhjen e të gjitha metodave tona me this
duke përdorur fushat e klasës.
Kjo nuk është pjesë e sintaksës JavaScript, por mund të përdoret me Babel ose TypeScript.
Për shembull, ne mund të lidhim:
class Foo extends React.Component { onClick = () => { console.log('clicked'); }; onMouseOver = () => { console.log('mouse over'); }; render() { return ( <div onClick={this.onClick} onMouseOver={this.onMouseOver} /> ); } }
Është ende në Fazën 3, kështu që nuk është përfundimtar.
Metoda Push në React Hooks
Ne nuk mund të përdorim metodën push
për të shtuar një artikull në një grup pasi ajo kthen artikullin që është bashkangjitur dhe ndryshon grupin në vend.
Në vend të kësaj, ne duhet të kthejmë një grup të ri me artikullin që duam të shtojmë.
Për shembull, mund të shkruajmë:
const [array, setArray] = useState(initialArray);
Pastaj shkruajmë:
setArray(oldArray => [...oldArray, newItem]);
Ne marrim grupin e vjetër dhe kthejmë një grup të ri me artikujt e bashkangjitur.
Artikujt ekzistues shpërndahen në grupin e ri me operatorin spread.
PropTypes Kontrolloni objektin me çelësat dinamikë
Ne mund të përdorim një funksion për të kontrolluar një objekt me çelësa dinamikë kur vërtetojmë mbështetësit.
Për shembull, mund të shkruajmë:
someProp: (props, propName, componentName) => { if (!/match/.test(props[propName])) { return new Error('match prop doesn't exist'); } }
Ne kontrollojmë nëse vlera e someProp
nëse vlera e someProp
përputhet me modelin regex që kemi specifikuar.
Nëse nuk ndodh, atëherë ne hedhim një gabim.
props
ka rekuizitën si objekt.
propName
ka emrin e mbështetëses.
componentName
ka emrin e komponentit.
Reagojnë Llojet e props: objekti vs formë
Metodat e metodës objectOf
na lejojnë të kontrollojmë nëse një vlerë mbështetëse është e një lloji të caktuar.
Për shembull, mund të shkruajmë:
number: PropTypes.objectOf(PropTypes.number)
për të kontrolluar nëse vlera e shtyllës number
është një objekt.
Nga ana tjetër, shape
na lejon të kontrollojmë strukturën e një objekti.
Për shembull, mund të shkruajmë:
styleObj: PropTypes.shape({ color: PropTypes.string, fontSize: PropTypes.number }),
Atëherë mbështetësi styleObj
duhet të ketë veçorinë color
, që është një varg.
Dhe duhet të ketë një pronë fontSize
që është një numër.
konkluzioni
Ka mënyra të ndryshme për të kontrolluar formën e një objekti që kalojmë si mbështetëse.
Ne mund t'i kalojmë vetitë në një objekt opsionalisht duke specifikuar një shprehje treshe.
Gjithashtu, ne mund të përdorim useEffect
shumë herë në komponentin tonë.
Çelësat dinamikë mund të kontrollohen gjithashtu me funksione të personalizuara me paketën prop-types.