Data flows downbeginner
A component receives everything it needs as props and renders it — which is what lets the same card show a laptop on one page and a desk on another without being rewritten.
Split a dashboard into the component that injects and derives and the one that only draws. The drawing half must render from inputs alone — that is the test of whether you got it right.
DashboardView compiles and renders with fabricated inputs and injects nothing.
Published in full, before you start — every point is one of these and there is nothing else.
A component receives everything it needs as props and renders it — which is what lets the same card show a laptop on one page and a desk on another without being rewritten.
Splitting the part that decides from the part that draws is what makes a screen testable with numbers you invented, and the test of whether you did it is exactly that.