2015-11-03 40 views
0

在陣營我已經創建了一個按鈕,如下所示:同時傳遞的事件和參數的處理程序作出反應

<Link size="button" onClick={this._handleShareClick.bind(this, this.props.shareID)} href={this.props.URL}>{shareText}</Link> 

我想要做的就是通過共享ID,也有機會獲得常規事件對象,允許我使用e.preventDefault();

當我傳遞到處理程序:

_handleShareClick = (e, shareID) => { 
    console.log(shareID); 
    e.preventDefault(); 
} 

的shareID不控制檯日誌,我也碰到下面的錯誤在我的控制檯:

Uncaught TypeError: Cannot read property 'preventDefault' of undefined 

有沒有一個原因,我不能訪問這些東西,或者是否有另一種我失蹤的方法?

+3

你是第一個參數綁定到'this.props.shareID',所以你可能想'_handleShareClick =(shareID,E)=> ...'。 –

+1

爲什麼不直接在'_handleShareClick'中訪問'this.props.shareID'? –

回答

0

你應該使用:

onClick={(e) => (e.preventDefault(), this._handleShareClick(this.props.shareID)) 
相關問題