diff options
author | Nolan Lawson <nolan@nolanlawson.com> | 2017-09-20 10:58:44 -0700 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-09-20 19:58:44 +0200 |
commit | 798b0fc5af3e9e4acec6624e041ff035d95c8b78 (patch) | |
tree | a214567ddeed5e769e895430a32c53cadd1af6bf /app/javascript | |
parent | 8fcfcddc8fc3d36a5b1daa1f74e69512fc66d565 (diff) |
Reduce wasted renders for column_loading.js (#5021)
* Reduce wasted renders for column_loading.js * Use defaultProps
Diffstat (limited to 'app/javascript')
-rw-r--r-- | app/javascript/mastodon/features/ui/components/column_loading.js | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/app/javascript/mastodon/features/ui/components/column_loading.js b/app/javascript/mastodon/features/ui/components/column_loading.js index 1c4058926..4834f0038 100644 --- a/app/javascript/mastodon/features/ui/components/column_loading.js +++ b/app/javascript/mastodon/features/ui/components/column_loading.js @@ -3,17 +3,28 @@ import PropTypes from 'prop-types'; import Column from '../../../components/column'; import ColumnHeader from '../../../components/column_header'; +import ImmutablePureComponent from 'react-immutable-pure-component'; -const ColumnLoading = ({ title = '', icon = ' ' }) => ( - <Column> - <ColumnHeader icon={icon} title={title} multiColumn={false} focusable={false} /> - <div className='scrollable' /> - </Column> -); +export default class ColumnLoading extends ImmutablePureComponent { -ColumnLoading.propTypes = { - title: PropTypes.node, - icon: PropTypes.string, -}; + static propTypes = { + title: PropTypes.oneOfType(PropTypes.node, PropTypes.string), + icon: PropTypes.string, + }; -export default ColumnLoading; + static defaultProps = { + title: '', + icon: '', + }; + + render() { + let { title, icon } = this.props; + return ( + <Column> + <ColumnHeader icon={icon} title={title} multiColumn={false} focusable={false} /> + <div className='scrollable' /> + </Column> + ); + } + +} |