Skip to content

Instantly share code, notes, and snippets.

@geoffreydhuyvetters
Last active March 19, 2020 17:01
Show Gist options
  • Save geoffreydhuyvetters/d84e2ad79abff8861cce2179b006ffff to your computer and use it in GitHub Desktop.
Save geoffreydhuyvetters/d84e2ad79abff8861cce2179b006ffff to your computer and use it in GitHub Desktop.
refactoring rendering

BEFORE

const Component = () = {

  // a
  // lot
  // of 
  // logic

  return (
    <div>
      {error && <Error />}
      {someOtherBoolean ? (
        <SomeComponent />
      ) : (
        <AnotherComponent />
      )}
    <div>
  )

}

AFTER

const Wrapper = ({error, children}) => (
  <div>
    {error && <Error />}
    {children}
  </div>
)

const Component = () = {

  // a
  // lot
  // of 
  // logic

  if (someOtherBoolean) {
    return (
      <Wrapper error={error}>
        <SomeComponent />
      </Wrapper>
    );
  }

  return (
    <Wrapper error={error}>
        <AnotherComponent />
    </Wrapper>
  );

}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment