Any suggestions on a better way of handling multiple defer properties would be greatly appreciated, I'm not a fan of this at the moment.
export const loader = async ({ request }: LoaderFunctionArgs) => {
const userPromise = getUserAndCurrentTeam(request);
const teamsPromise = getAllTeams(request);
return defer({
user: userPromise,
teams: teamsPromise,
});
};
<Suspense fallback={<p>Loading teams...</p>}>
<Await resolve={teams}>
{(resolvedTeams) => (
<Suspense fallback={<p>Loading user...</p>}>
<Await resolve={user}>
{(resolvedUser) => (
)}
</Await>
</Suspense>
)}
</Await>
</Suspense>