Start here. This is the direct spoken answer to practice first.
Why this question matters
Component tests are useful when they protect behavior instead of freezing implementation details. This is especially important as UI code changes shape often.
I would test what the user can see and do. The test renders the component, finds elements by role, label, or text, performs realistic user actions, and asserts visible outcomes. For async behavior, the test waits for UI changes rather than arbitrary timeouts. If the component calls an API, I would mock the network boundary or pass a fake dependency so the test focuses on the component behavior.