Komponentit voivat olla joko tilattomia tai tilallisia
Tilattomat, stateless-komponentit, ovat funktioita, joilla ei ole sivuvaikutuksia
Kuvaavat ainoastaan
props-parametrin perusteella, miltä käyttöliittymän tulisi missäkin tilanteessa näyttääMääritetään funktiona, jonka parametrina on
props:it ja paluuarvona React-elementtejäconst Puutavara = ({ nimi, hinta, tarjous }) => ( <h2 className={tarjous ? 'tarjous' : ''}> {nimi} <small>{hinta.toFixed(2)} €</small> </h2> );
Tilalliset, Stateful-komponentit, ovat luokkia
Komponenteilla on käytössään sisäinen
statestate:a päivitetäänthis.setState(nextState)-funktiokutsullaReact yhdistää
nextState-objektin edelliseenstate:en ja kutsuurender-metodianextStatevoi olla myös funktio, joka saa parametrina edellisenstate:n, ja jonka tulee palauttaanextState-objekti
props:ien lisäksi stateful-komponentit käyttävätstate:a määrittämään, miltä käyttöliittymän tulisi näyttää
class Laskuri extends Component {
state = {
määrä: 0
};
lisää = () => this.setState(({ määrä }) => ({ määrä: määrä + 1 }));
vähennä = () => this.setState(({ määrä }) => ({ määrä: määrä - 1 }));
render() {
return (
<div>
{this.state.määrä}
<button onClick={this.vähennä}>-</button>
<button onClick={this.lisää}>+</button>
</div>
);
}
}Last updated