S
SolidJS9mo ago
OneEye

createResource from the main layout causes it to completely crash the page

I have a dashboard.tsx main layout file and 2 routes inside this dashboard route, and inside this layout I have these resources
export const routeData = () => {
const project = createResource(async () => {
try {
const projectRes = await getProject();
return projectRes!.data;
} catch (error: any) {
console.log("couldn't get project info", error.message);
}
});

const user = createResource(async () => {
try {
const e = useServerContext();
const userRes = await checkCurrentUser(e);
return userRes!.data.user;
} catch (error: any) {
console.log("couldn't get user info", error.message);
}
});


const plans = createResource(async () => {
try {
const plansRes = await getPlans();
return plansRes;
} catch (error: any) {
console.log("couldn't get plans info", error.message);
}
});


return { project: project[0], user: user[0], plans: plans[0] };
};
export const routeData = () => {
const project = createResource(async () => {
try {
const projectRes = await getProject();
return projectRes!.data;
} catch (error: any) {
console.log("couldn't get project info", error.message);
}
});

const user = createResource(async () => {
try {
const e = useServerContext();
const userRes = await checkCurrentUser(e);
return userRes!.data.user;
} catch (error: any) {
console.log("couldn't get user info", error.message);
}
});


const plans = createResource(async () => {
try {
const plansRes = await getPlans();
return plansRes;
} catch (error: any) {
console.log("couldn't get plans info", error.message);
}
});


return { project: project[0], user: user[0], plans: plans[0] };
};
and for some reason when I visit one of these routes everything loads good, BUT when I refresh and then change the route the page completely dissapeares, without any errors I've checked the data that I'm receiving on these routes, and their a okay, the only problem is that wen I reload the routes don't work I'm using this data with useRouteData method like so
const {project} = useRouteData<typeof routeData>();
console.log(project())
const {project} = useRouteData<typeof routeData>();
console.log(project())
0 Replies
No replies yetBe the first to reply to this messageJoin