Data liikkuu yhteen suuntaan
props
:eja,state
:a sekä muita arvoja välitetään alaspäin (syvemmälle) toisille komponenteille, joista oma komponentti koostuuYlöspäin tietoa välitetään
callback
-funktioiden avulla, mikäli sellaisia on saatu itselleprops
:ssa
render() {
return <div>
<Puutavara nimi={this.props.nimi} hinta={this.props.hinta} />
<button onClick={this.vähennä}>-</button>
<button onClick={this.lisää}>+</button>
<button onClick={() => this.props.lisääOstoskoriin(this.state.määrä)}>
Osta {this.state.määrä}
</button>
</div>;
}
Sovelluksessa voi olla useita stateful-komponentteja
Jos komponentit eri puolilla sovellusta ovat riippuvaisia jostakin yhteisestä tiedosta (
state
),state
pidetään niin ylhäällä, että halutut tiedot voidaan välittää alaspäinprops
:ina molemmille komponenteilleAlemmat komponentit voivat olla stateless-komponentteja
Alemmat komponentit käyttävät saamiaan
props
:ejaprops
:eja ei pidä kopioida komponentissastate
:en
Kun ylemmässä komponentissa
state
muuttuu, alemmat komponentit päivittyvät automaattisesti
Last updated