Html onClick未传播

Html onClick未传播,html,reactjs,Html,Reactjs,我在创建允许打印图片的简单图库时遇到问题。我构建了接口。单击“打印”按钮时,无法将事件传播到函数。有趣的是,它总是只适用于库中的几个项目,因此控制台会记录foo。你能告诉我哪里出了问题吗?我使用的是MaterialUI,tileData是一个带有图像url等的json 非常感谢 class Galery extends React.Component { state = { tileData: tileData }; printThis = tile => {

我在创建允许打印图片的简单图库时遇到问题。我构建了接口。单击“打印”按钮时,无法将事件传播到函数。有趣的是,它总是只适用于库中的几个项目,因此控制台会记录
foo
。你能告诉我哪里出了问题吗?我使用的是MaterialUI,tileData是一个带有图像url等的json

非常感谢

class Galery extends React.Component {
  state = {
    tileData: tileData
  };
  printThis = tile => {
    console.log("printing tile... " + tile.target.value);
  };

  render() {
    const classes = this.props;
    return (
      <div className={classes.root}>
        <ButtonAppBar />
        <div style={{ marginBottom: 20 }} />

        <Grid container spacing={8}>
          <Grid item xs={10}>
            <GridList
              cellHeight={250}
              cellWidth={250}
              cols={5}
              spacing={4}
              className={classes.gridList}
            >
              {tileData.map(tile => (
                <GridListTile key={tile.img}>
                  <img src={tile.img} alt={tile.title} />

                  <GridListTileBar
                    title={tile.title}
                    subtitle={<span>by: {tile.author}</span>}
                    actionIcon={
                      <IconButton
                        className={classes.icon}
                        value="foo"
                        onClick={this.printThis}
                      >
                        <i className="material-icons md-24 md-light">print</i>
                      </IconButton>
                    }
                    secondActionIcon={
                      <IconButton className={classes.icon}>
                        <i className="material-icons md-24 md-light">delete</i>
                      </IconButton>
                    }
                  />
                </GridListTile>
              ))}
            </GridList>
          </Grid>
          <Grid item xs={2}>
            <div className={classes.stats}>
              <StatsTable />
            </div>
          </Grid>
        </Grid>
      </div>
    );
  }
}
类Galery扩展了React.Component{ 状态={ tileData:tileData }; printThis=tile=>{ log(“打印磁贴…”+磁贴.target.value); }; render(){ const classes=this.props; 返回( {tileData.map(tile=>( ))} ); } }
根据github的回答,我可以通过
event.currentTarget
访问对象id `

因此,我的实施是:

printThis = (event) => {
    console.log('printing tile... '+ event.currentTarget.id);
};

<IconButton className={classes.icon} id = {tile.img} onClick={this.printThis}>
                                <i className="material-icons md-24 md-light"  >
                                    print
                                    </i>
                            </IconButton>
printThis=(事件)=>{
log('printing tile…'+event.currentTarget.id);
};
打印

我想我需要更改材质UI,但不认为问题会出现。你能发布你的图标按钮组件吗?@DILEEPTHOMAS Hi,这是从这里开始的,也许最好链接到那里的对象定义