2016-11-07 3 views
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 искусство в контейнере?

+0

если вы распечатать 'addToCart' или отлаживать в' render' и увидеть значение, это функция или 'undefined'? вы видите какие-либо ошибки в консоли, жалующиеся на 'this',' undefined' (поскольку вы не связывали 'addToCart')? –

ответ

0

Он работает в настоящее время существует еще одна проблема со страницей

Смежные вопросы