我正在用我的React应用程序运行lint,并且收到此错误:
error JSX props should not use arrow functions react/jsx-no-bind
这是我运行箭头功能(在里面onClick
)的地方:
{this.state.photos.map(tile => (
<span key={tile.img}>
<Checkbox
defaultChecked={tile.checked}
onCheck={() => this.selectPicture(tile)}
style={{position: 'absolute', zIndex: 99, padding: 5, backgroundColor: 'rgba(255, 255, 255, 0.72)'}}
/>
<GridTile
title={tile.title}
subtitle={<span>by <b>{tile.author}</b></span>}
actionIcon={<IconButton onClick={() => this.handleDelete(tile)}><Delete color="white"/></IconButton>}
>
<img onClick={() => this.handleOpen(tile.img)} src={tile.img} style={{cursor: 'pointer'}}/>
</GridTile>
</span>
))}
是否应避免这种不良做法?最好的方法是什么?
您可以使用react-cached-handler库使用箭头功能,而无需担心重新渲染性能:
其它功能: