forked from cybrespace/mastodon
		
	Reduce wasted renders for column_loading.js (#5021)
* Reduce wasted renders for column_loading.js * Use defaultProps
This commit is contained in:
		
							parent
							
								
									8fcfcddc8f
								
							
						
					
					
						commit
						798b0fc5af
					
				
					 1 changed files with 22 additions and 11 deletions
				
			
		| 
						 | 
					@ -3,17 +3,28 @@ import PropTypes from 'prop-types';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import Column from '../../../components/column';
 | 
					import Column from '../../../components/column';
 | 
				
			||||||
import ColumnHeader from '../../../components/column_header';
 | 
					import ColumnHeader from '../../../components/column_header';
 | 
				
			||||||
 | 
					import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const ColumnLoading = ({ title = '', icon = ' ' }) => (
 | 
					export default class ColumnLoading extends ImmutablePureComponent {
 | 
				
			||||||
  <Column>
 | 
					 | 
				
			||||||
    <ColumnHeader icon={icon} title={title} multiColumn={false} focusable={false} />
 | 
					 | 
				
			||||||
    <div className='scrollable' />
 | 
					 | 
				
			||||||
  </Column>
 | 
					 | 
				
			||||||
);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
ColumnLoading.propTypes = {
 | 
					  static propTypes = {
 | 
				
			||||||
  title: PropTypes.node,
 | 
					    title: PropTypes.oneOfType(PropTypes.node, PropTypes.string),
 | 
				
			||||||
  icon: 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>
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue