diff options
author | Sorin Davidoi <sorin.davidoi@gmail.com> | 2017-05-19 20:58:12 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-05-19 20:58:12 +0200 |
commit | 1548695c8300618d44efa8785f5c6eb7b3a86917 (patch) | |
tree | 52a60cdccd40bc0961f1af0915c300316c92925f /app/javascript/mastodon/features/compose/components/upload_form.js | |
parent | 3da521a58663f94b6e6a74d6d91d72a8e9fa7a73 (diff) |
Avoid useless renders (#3141)
* feat(eslint): Set react/jsx-no-bind: error * refactor(notifications/setting_toggle): Do not use bind * refactor(components/dropdown_menu): Do not use bind * refactor(components/autosuggest_textarea): Do not use bind * refactor(compose/privacy_dropdown): Do not use bind * refactor(compose/upload_form): Do not use bind * refactor(components/status): Do not use bind * refactor(components/onboarding_modal): Do not use bind * refactor: PR feedback * chore(notifications/setting_toggle): Lint * refactor: PR feedback
Diffstat (limited to 'app/javascript/mastodon/features/compose/components/upload_form.js')
-rw-r--r-- | app/javascript/mastodon/features/compose/components/upload_form.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/app/javascript/mastodon/features/compose/components/upload_form.js b/app/javascript/mastodon/features/compose/components/upload_form.js index f1bd9b7ec..f2579bf60 100644 --- a/app/javascript/mastodon/features/compose/components/upload_form.js +++ b/app/javascript/mastodon/features/compose/components/upload_form.js @@ -18,6 +18,11 @@ class UploadForm extends React.PureComponent { intl: PropTypes.object.isRequired }; + onRemoveFile = (e) => { + const id = Number(e.currentTarget.parentElement.getAttribute('data-id')); + this.props.onRemoveFile(id); + } + render () { const { intl, media } = this.props; @@ -25,8 +30,8 @@ class UploadForm extends React.PureComponent { <div className='compose-form__upload' key={attachment.get('id')}> <Motion defaultStyle={{ scale: 0.8 }} style={{ scale: spring(1, { stiffness: 180, damping: 12 }) }}> {({ scale }) => - <div className='compose-form__upload-thumbnail' style={{ transform: `translateZ(0) scale(${scale})`, backgroundImage: `url(${attachment.get('preview_url')})` }}> - <IconButton icon='times' title={intl.formatMessage(messages.undo)} size={36} onClick={this.props.onRemoveFile.bind(this, attachment.get('id'))} /> + <div className='compose-form__upload-thumbnail' data-id={attachment.get('id')} style={{ transform: `translateZ(0) scale(${scale})`, backgroundImage: `url(${attachment.get('preview_url')})` }}> + <IconButton icon='times' title={intl.formatMessage(messages.undo)} size={36} onClick={this.onRemoveFile} /> </div> } </Motion> |