Documentation
Framework
Version

React Example: Router Monorepo React Query

tsx
import * as React from 'react'
import { PostNotFoundError } from '@router-mono-react-query/post-query'
import {
  useRouter,
  ErrorComponent,
  ErrorComponentProps,
} from '@router-mono-react-query/router'
import { useQueryErrorResetBoundary } from '@tanstack/react-query'

export function PostErrorComponent({ error, reset }: ErrorComponentProps) {
  const router = useRouter()
  if (error instanceof PostNotFoundError) {
    return <div>{error.message}</div>
  }
  const queryErrorResetBoundary = useQueryErrorResetBoundary()

  React.useEffect(() => {
    queryErrorResetBoundary.reset()
  }, [queryErrorResetBoundary])

  return (
    <div>
      <button
        onClick={() => {
          router.invalidate()
        }}
      >
        retry
      </button>
      <ErrorComponent error={error} />
    </div>
  )
}
import * as React from 'react'
import { PostNotFoundError } from '@router-mono-react-query/post-query'
import {
  useRouter,
  ErrorComponent,
  ErrorComponentProps,
} from '@router-mono-react-query/router'
import { useQueryErrorResetBoundary } from '@tanstack/react-query'

export function PostErrorComponent({ error, reset }: ErrorComponentProps) {
  const router = useRouter()
  if (error instanceof PostNotFoundError) {
    return <div>{error.message}</div>
  }
  const queryErrorResetBoundary = useQueryErrorResetBoundary()

  React.useEffect(() => {
    queryErrorResetBoundary.reset()
  }, [queryErrorResetBoundary])

  return (
    <div>
      <button
        onClick={() => {
          router.invalidate()
        }}
      >
        retry
      </button>
      <ErrorComponent error={error} />
    </div>
  )
}
Subscribe to Bytes

Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.

Bytes

No spam. Unsubscribe at any time.

Subscribe to Bytes

Your weekly dose of JavaScript news. Delivered every Monday to over 100,000 devs, for free.

Bytes

No spam. Unsubscribe at any time.