javascript - 组件事件上未调用 React.js 函数
问题描述
我是 React.js 的新手,也许这个问题有点含糊,请善待。我正在使用react-image-gallery在我的组件中创建一个画廊。这个画廊组件有一个回调函数的道具,onImageLoad
当加载图像时调用它(我正在使用延迟加载)。问题是这个onImageLoad
道具能够直接做,console.log('called')
但它不会触发任何事件。所以这有效:
class Post extends React.Component {
render() {
return (
<ImageGallery onImageLoad={console.log('called')} />
)
}
}
但这些不起作用:
class Post extends React.Component {
EVENTNAME = e => {
console.log('called', e);
}
render() {
return (
<ImageGallery onImageLoad={this.EVENTNAME.bind(this)} />
)
}
}
这也不起作用:
class Post extends React.Component {
EVENTNAME = e => {
console.log('called', e);
}
render() {
return (
<ImageGallery onImageLoad={e => this.EVENTNAME} />
)
}
}
也不是这个:
class Post extends React.Component {
EVENTNAME = e => {
console.log('called', e);
}
render() {
return (
<ImageGallery onImageLoad={e => console.log('called', e)} />
)
}
}
也试过这个:
class Post extends React.Component {
EVENTNAME = e => {
console.log('called', e);
}
render() {
return (
<ImageGallery onImageLoad={this.EVENTNAME} />
)
}
}
我猜这是函数作用域的问题和类似的问题。一些提示和指导将不胜感激。谢谢!
在此处查看完整的文件代码
解决方案
您是否收到类似'EVENTNAME' is not defined no-undef 这样的错误,如果是这种情况,请在函数定义前添加声明。
let EVENTNAME = e => {
console.log('called', e);
}
推荐阅读
- javascript - Javascript 中的颜色选择器选项
- python-3.x - 散景悬停信息在情节的某些部分背后
- c++ - return 不停止函数,递归函数问题?(编程练习、动态编程、Levenshtein Back-trace)
- vb.net - 如何在 Windows 10 的音量控制上显示您的媒体播放器程序
- php - PHP:如果某些条件为真,则显示元素
- c# - 在 ASP.Net 中找不到资源错误
- javascript - 如何匹配 URL 但不是模式
- c# - 在 ASP.Net MVC 中使用 JSON 从 AngularJS 调用 MVC 控制器
- c# - 使用附加模式属性后,iText7 将签名转换为不可见签名
- python - 如何使用 selenium python 验证 html5 验证