Comments (7)
I wondered, too. But you can use the loader template from the index.ts file in the loaders folder.
import type { DataLoader } from "@remix-run/core";
let loader: DataLoader = async () => {
return fetch("https://api.github.com/gists");
};
export = loader;
from remix.
This seemed odd to me as I had to create a loaders folder in the starter project. My guess is they renamed the "loaders" folder to "data" and forgot to update the docs on that page, or just missed it.
They also referenced "gists.ts" when on the previous page, we created a "gists.tsx" file, minor issue, but easy fix.
@anglee try using the data folder instead of the loaders folder. It should work.
Update:
I found this code in the source code which seems to confirm my suspicions. The docs are wrong, the folder should be data:
/**
* Returns the data for the current route from `data/routes/*`.
*/
export declare function useRouteData<T = AppData>(): T;
from remix.
The same applies to the team and member loaders later in the tutorial.
from remix.
They also referenced "gists.ts" when on the previous page, we created a "gists.tsx" file, minor issue, but easy fix.
I believe the gists.tsx is for the react component similar to jsx. Plain typescript files are just .ts. So theres a gists react component (tsx) and a gists loader (ts)
from remix.
@anglee try using the data folder instead of the loaders folder. It should work.
I'm getting null in either case
from remix.
edit: The reason certain routes are not loading is because there's an issue with the build process. Check data-build/routes to see if the route has been rendered there. If not, you're going to get null.
I'm not sure what the issue is but data seems to load or fail to load in an arbitrary fashion. I have gists working and now the team data is showing null much in the same was as gists were previously. Nothing changed to get gists to work, it just started working at some random point, perhaps the team will decide to start working as well.
Maybe there's something going on behind the scenes thats preventing data from loading?
data/routes/gists/ts:
import type { Loader } from "@remix-run/data";
let loader: Loader = () => {
return fetch("https://api.github.com/gists");
};
export { loader };
data/routes/team.js
import type { Loader } from "@remix-run/data";
let loader: Loader = () => {
return fetch("https://api.github.com/orgs/reacttraining/members");
};
export { loader };
from remix.
Not applicable anymore.
from remix.
Related Issues (20)
- Single fetch: Throwing a response stub with a 4xx status causes a turbo-stream error HOT 3
- Vite + Express: Error: No route matches URL HOT 4
- Getting error when running `npx create-remix@latest` HOT 3
- Single Fetch: `Headers.GetSetCookie` is not a function HOT 1
- Warning: React.createElement: type is invalid
- Single Fetch: Can't return empty Map or Set from loader (turbo-stream issue?) HOT 4
- Automated layout nesting always inheriting from root.tsx when overridden HOT 2
- Build fails when using vite-imagetools plugin due to assets already existing in build/client HOT 5
- Single Fetch Redirects should use a 2xx code HOT 2
- CSS rule order changes after hydration in Vite development mode HOT 4
- Cookie header is not created correctly for AWS Lambda
- Single Fetch: TypeScript implementation of defineLoader doesn't support records with arrays HOT 8
- Layout is re-mounted when rendering root ErrorBoundary causing a FOUC
- Updates to search params using `useSearchParams` are not always propagated at the same time to all consumers
- Updating search params using `useSearchParams` seems to trigger more than one render
- Routing issue with server routes configured in defineRoutes HOT 1
- Build fails in Docker when importing certain Modules (like Zod) HOT 1
- unstable_defineLoader can't handle types with arrays HOT 3
- When parent route loads data using `useFetcher`, all child routes/components that use `useFetcher` gets re-rendered HOT 4
- Remix + Vite build and ServerBuild are incompatible HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from remix.