在react中提供的props只能进行单向传输流,但是在某些情况下,我们必须要从子组件发送信息到父组件,因此,我们可以在子组件中通过props函数来回调给父组件达到修改父组件state中的数据,从而达到逆向传输流。
举个栗子~~~
class DemoOne extends React.Component {
handleVote(productId) {
const nextProducts = this.state.products.map((product) => {
if (product.id === productId) {
return Object.assign({}, product, {
votes: product.votes + 1
})
} else {
return product;
}
});
this.setState({
products: nextProducts
})
}
render() {
return (
<div className="DemoOne">
<Product
onVote={this.handleProductUpVote}
/>
</div>
)
}
}
在上面的例子中,是一个