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 part that decides and the part that draws. The drawing half should be renderable with numbers you made up — that is the test of whether you got it right.
DashboardView renders correctly from props alone, and holds no state.
Published in full, before you start — every point is one of these and there is nothing else. Each one runs your code; it is not a search for keywords.
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.