kiliman / remix-typedjson

This package is a replacement for superjson to use in your Remix app. It handles a subset of types that `superjson` supports, but is faster and smaller.
MIT License
435 stars 19 forks source link

0.4.0 removes remix as peer dependency #37

Closed juliogarciag closed 8 months ago

juliogarciag commented 8 months ago

This commit removes @remix-run/react as peer dependency: https://github.com/kiliman/remix-typedjson/commit/30f96e9670ab1602fd8a9e97546248481c986e1a. This made the use of useTypedLoaderData to throw this error:

Error: useLoaderData must be used within a data router.  See https://reactrouter.com/routers/picking-a-router.
     at Object.invariant [as UNSAFE_invariant] (node_modules/@remix-run/router/history.ts:480:11)
     at useDataRouterState (node_modules/react-router/lib/hooks.tsx:780:3)
     at Object.useLoaderData (node_modules/react-router/lib/hooks.tsx:861:15)
     at useLoaderData (node_modules/@remix-run/react/dist/components.js:896:25)
     at useTypedLoaderData (node_modules/remix-typedjson/dist/remix.js:84:44)
     at MyRoute (build/index.js:13370:53)
     at renderWithHooks (node_modules/react-dom/cjs/react-dom-server.node.development.js:5724:16)
     at renderIndeterminateComponent (node_modules/react-dom/cjs/react-dom-server.node.development.js:5797:15)
     at renderElement (node_modules/react-dom/cjs/react-dom-server.node.development.js:6012:7)
     at renderNodeDestructiveImpl (node_modules/react-dom/cjs/react-dom-server.node.development.js:6170:11)
     at renderNodeDestructive (node_modules/react-dom/cjs/react-dom-server.node.development.js:6142:14)
     at renderContextProvider (node_modules/react-dom/cjs/react-dom-server.node.development.js:5986:3)
     at renderElement (node_modules/react-dom/cjs/react-dom-server.node.development.js:6083:11)
     at renderNodeDestructiveImpl (node_modules/react-dom/cjs/react-dom-server.node.development.js:6170:11)
     at renderNodeDestructive (node_modules/react-dom/cjs/react-dom-server.node.development.js:6142:14)
     at renderIndeterminateComponent (node_modules/react-dom/cjs/react-dom-server.node.development.js:5851:7)
Error: useLoaderData must be used within a data router.  See https://reactrouter.com/routers/picking-a-router.

Going back to 0.3.1 removed the error.

kiliman commented 8 months ago

Fixed in v0.4.1

mylescarrick commented 7 months ago

Hi @kiliman I'm afraid I'm still getting this with 0.4.1 (with Remix 2.4.1 or 2.5.0)

Any ideas?


Error: useLoaderData must be used within a data router.  See https://reactrouter.com/routers/picking-a-router.
    at Object.invariant [as UNSAFE_invariant] (node_modules/remix-typedjson/node_modules/@remix-run/react/node_modules/@remix-run/router/history.ts:494:11)
    at useDataRouterState (node_modules/remix-typedjson/node_modules/@remix-run/react/node_modules/react-router/lib/hooks.tsx:838:3)
    at Object.useLoaderData (node_modules/remix-typedjson/node_modules/@remix-run/react/node_modules/react-router/lib/hooks.tsx:909:15)
    at useLoaderData (node_modules/remix-typedjson/node_modules/@remix-run/react/dist/components.js:684:25)
    at Module.useTypedLoaderData (node_modules/remix-typedjson/dist/remix.js:82:44)
    at… (my route)
kiliman commented 7 months ago

Do you have a sample repo? It's kind of hard to say what the issue is without some code.