Browse Source

refactor(features/ui): Avoid useless renders in WrappedSwitch (#5580)

master
Sorin Davidoi 7 years ago
committed by Eugen Rochko
parent
commit
5521e94e24
1 changed files with 13 additions and 5 deletions
  1. +13
    -5
      app/javascript/mastodon/features/ui/util/react_router_helpers.js

+ 13
- 5
app/javascript/mastodon/features/ui/util/react_router_helpers.js View File

@ -7,11 +7,19 @@ import BundleColumnError from '../components/bundle_column_error';
import BundleContainer from '../containers/bundle_container'; import BundleContainer from '../containers/bundle_container';
// Small wrapper to pass multiColumn to the route components // Small wrapper to pass multiColumn to the route components
export const WrappedSwitch = ({ multiColumn, children }) => (
<Switch>
{React.Children.map(children, child => React.cloneElement(child, { multiColumn }))}
</Switch>
);
export class WrappedSwitch extends React.PureComponent {
render () {
const { multiColumn, children } = this.props;
return (
<Switch>
{React.Children.map(children, child => React.cloneElement(child, { multiColumn }))}
</Switch>
);
}
}
WrappedSwitch.propTypes = { WrappedSwitch.propTypes = {
multiColumn: PropTypes.bool, multiColumn: PropTypes.bool,

Loading…
Cancel
Save