javascript - 我可以设置尚未定义的 onClick 事件吗?

标签 javascript reactjs

我有一个如下所示的组件:

const ProductCarousel = React.createClass({
  componentDidMount: function () {
    this.flky = new Flickity('.carousel', flickityOptions)
    //here
  },
  render: function () {
    const item = this.props.item
    return (
      <div>
        <div className='carousel'>
          {item.get('images').map((url, i) => (
            <img key={i.toString()} src={stripUrl(url)} width={520} />
          ))}
        </div>
        <div style={{marginTop: '20px', display: 'flex'}}>
          {item.get('images').map((url, index) =>
            <div style={{flexGrow: 1, margin: '0 1em 0 1em'}} className='hidden-xs' key={url}>
              <Thumbnail src={stripUrl(url)} />
            </div>
          )}
        </div>
      </div>
    )
  }
})

在“这里”的地方,我想为 <Thumbnail onClick /> 定义函数。这些函数是 this.flky 的方法,所以我无法在 componentDidMount 之前创建它们,但我想将它们设置在缩略图中并将缩略图索引传递给它们。我可以使用类似 promise 之类的东西吗?

最佳答案

如果你把它放在一个函数中,它不会被执行,直到它被点击,此时方法应该存在:

 <Thumbnail src={stripUrl(url)} onClick={()=>this.flky.someMethod(index)} />

关于javascript - 我可以设置尚未定义的 onClick 事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41271917/

相关文章:

javascript - 如何将以 vh 给出的元素的高度转换为像素?

html - React 中两个类之间的转换 - React 路由问题

reactjs - React-router - 检查空状态并重定向?

javascript - 如何忽略 Mustache 模板中的 Handlebars 表达式?

reactjs - 如何处理 Typescript 中的 onChange

node.js - 在端口和将 React/Node 项目部署到 digital ocean 方面遇到问题

javascript - react : How to disabled Next Button

javascript - 我可以在 VS 2012 的 webbrowser 控件中调试 javascript 代码吗

javascript - 要在 asp.net 中创建图形,我需要数组内部数组格式的数据

Javascript/Jquery 不支持延迟加载..facebook 是如何做到的?