A request has several visible states. Before it starts, the user needs a control. While it runs, the page needs a loading status. Success can contain rows or an empty result; a failure needs a readable message and a route to retry. A boolean called loading cannot describe all those outcomes on its own.
You'll load records from the preview's mocked API. Keep the response rows separate from the request state, and clear stale rows when a new request starts. The task includes a control that makes the next request fail, so you can test recovery deliberately. Later fixtures change the returned labels and amounts. Render the response rather than a sample list, and keep error feedback accessible through an alert.