Skip to content

Instantly share code, notes, and snippets.

@newerton
Created September 15, 2022 17:57
Show Gist options
  • Save newerton/048a7d918c858716cc9ef4748519954a to your computer and use it in GitHub Desktop.
Save newerton/048a7d918c858716cc9ef4748519954a to your computer and use it in GitHub Desktop.
Open-closed principle (OCP)
const Header = () => {
const { pathname } = useRouter()
return (
<header>
<Logo />
<Actions>
{pathname === '/dashboard' && <Link to="/events/new">Create event</Link>}
{pathname === '/' && <Link to="/dashboard">Go to dashboard</Link>}
</Actions>
</header>
)
}
const HomePage = () => (
<>
<Header />
<OtherHomeStuff />
</>
)
const DashboardPage = () => (
<>
<Header />
<OtherDashboardStuff />
</>
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment