0
Я просто получаю голову от компонентов в реакциях. Это часть моего компонента/контейнера:Как я могу вызвать метод для компонента в Reactjs?
onAddToCart(id) {
console.log('testing onaddtocart')
this.props.dispatch({type: 'ADD_TO_CART', id: id});
}
render() {
var Packs = [];
if (this.props.packsData != undefined && this.props.packsData.existingFoxtelPackage != undefined) {
if (this.props.packsData.existingFoxtelPackage.eligiblePacks.length > 0) {
Packs = this.props.packsData.existingFoxtelPackage.eligiblePacks;
console.log('testing=Packs', Packs);
}
}
return (
<div>hello from Packscontainer!!!
<div>
{
Packs.map(pack =>
<Pack id={pack.id} name={pack.name} addToCart={this.onAddToCart.bind(this, pack.id)}/>
)}
</div>
</div>
)
}
Проблема в том, что метод onAddToCart не вызывается при нажатии на кнопку AddToCart, это является частью компонента обновления:
render() {
const { addToCart } = this.props
return (
<div>hello from pack
{this.props.id} - {this.props.name}
<button onClick={addToCart}>Add to cart</button>
</div>
)
}
Как я могу вызвать onAddToc искусство в контейнере?
если вы распечатать 'addToCart' или отлаживать в' render' и увидеть значение, это функция или 'undefined'? вы видите какие-либо ошибки в консоли, жалующиеся на 'this',' undefined' (поскольку вы не связывали 'addToCart')? –