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 关注
- 73 浏览
添加回答
举报