2 回答

TA貢獻1836條經驗 獲得超5個贊
您收到錯誤的原因TypeError: Cannot read property 'stopPropagation' of undefined是因為您number作為參數傳遞。
要測試此行為,您可以執行以下操作:
const handleViewPhotosClick = (value) => {
console.log(value);
// handle the rest
};
如果您還希望傳遞事件對象,那么您應該在SectionImages組件上執行以下操作:
<div className={itemClass} onClick={(e) => { this.handleSelectedImage(e, number) }}>
<img src={imagePath} alt={number} />
</div>
在組件上ListingsPage,
const handleViewPhotosClick = (e, value: number) => {
e.stopPropagation();
console.log(value);
// handle the rest
};

TA貢獻1836條經驗 獲得超3個贊
如果您想調用作為 prop 傳遞的函數,您始終可以從另一個函數內部執行此操作。只需確保向其傳遞正確的參數(在本例中為事件):
export default class SectionImages extends Component {
/* constructor */
handleSelectedImage(e, number) {
this.props.handleViewPhotosClick(e);
this.setState({ selectedImage: number });
}
render() {
const imageItem = (itemClass, imagePath, number) => {
return (
<div className={itemClass} onClick={e => this.handleSelectedImage(e, number)}>
<img src={imagePath} alt={number} />
</div>
);
};
/* return statement */
}
}
- 2 回答
- 0 關注
- 171 瀏覽
添加回答
舉報