Build a tabbed interface that switches panels on selection.
Skip to solutionKEEP THE
easyMachine Coding
Build a Tabs component
927 views
01
Understand the problem
ReactUIState
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Nudge consolestandby
Stuck? Beam a request up — the console returns a conceptual nudge that guides your logic without spoiling the implementation.
03
Study the solution
Solve in
Building a Tabs Component in React
Mental model: Tabs are a single source of truth — the active index — driving two things: which tab looks selected and which panel renders. The accessibility contract (role="tablist"/tab/tabpanel + arrow-key navigation + roving tabIndex) is what separates a real imple
Solution ready — 2 min read
Classified // press E to declassify
04
React solution
Complete solutionRun Playground
import React from 'react';
import Tabs from './src/Tabs';
const tabs = [
{ label: 'Overview', content: 'A tabs component lets users switch between related views in the same space.' },
{ label: 'Accessibility', content: 'Use role=tablist/tab/tabpanel, aria-selected, and arrow-key navigation.' },
{ label: 'Tips', content: 'Keep labels short and keep the selected panel mounted only when active.' },
];
export default function App() {
return (
<div style={{ fontFamily: 'sans-serif', padding: 20 }}>
<h1>Tabs Demo</h1>
<Tabs tabs={tabs} initial={0} />
</div>
);
}05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.
Transmission complete // awaiting log
KEEP THE
STREAK ALIVE.
Dossier 11 of 87 decoded in the Frontend Machine Coding track. One more won't hurt.