Skip to content

Instantly share code, notes, and snippets.

@danakt
Created October 31, 2018 09:08
Show Gist options
  • Select an option

  • Save danakt/c421a262a68e9de988c75ab8a3d1ad44 to your computer and use it in GitHub Desktop.

Select an option

Save danakt/c421a262a68e9de988c75ab8a3d1ad44 to your computer and use it in GitHub Desktop.

Revisions

  1. danakt created this gist Oct 31, 2018.
    12 changes: 12 additions & 0 deletions pureComponent.ts
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,12 @@
    /**
    * Wraps any React component (even functional) to PureComponent class
    */
    export const pureComponent = function<P>(Component: React.ComponentType<P>) {
    return class extends React.PureComponent<P> {
    static displayName = `pureComponent(${Component.displayName || Component.name})`;

    render() {
    return <Component {...this.props} />;
    }
    };
    };