Skip to content

Commit

Permalink
fix: allow meta/scripts to be undefined (easier for conditionals)
Browse files Browse the repository at this point in the history
  • Loading branch information
tannerlinsley committed Nov 18, 2024
1 parent 8299698 commit adb3ab3
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 18 deletions.
6 changes: 3 additions & 3 deletions packages/react-router/src/Matches.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -170,9 +170,9 @@ export interface RouteMatch<
loaderDeps: TLoaderDeps
preload: boolean
invalid: boolean
meta?: Array<React.JSX.IntrinsicElements['meta']>
links?: Array<React.JSX.IntrinsicElements['link']>
scripts?: Array<React.JSX.IntrinsicElements['script']>
meta?: Array<React.JSX.IntrinsicElements['meta'] | undefined>
links?: Array<React.JSX.IntrinsicElements['link'] | undefined>
scripts?: Array<React.JSX.IntrinsicElements['script'] | undefined>
headers?: Record<string, string>
globalNotFound?: boolean
staticData: StaticDataRouteOption
Expand Down
7 changes: 4 additions & 3 deletions packages/react-router/src/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import type * as React from 'react'
import type { RootRouteId } from './root'
import type { UseNavigateResult } from './useNavigate'
import type {
AnyRouteMatch,
MakeRouteMatchFromRoute,
MakeRouteMatchUnion,
RouteMatch,
Expand Down Expand Up @@ -471,9 +472,9 @@ export interface UpdatableRouteOptions<
params: ResolveAllParamsFromParent<TParentRoute, TParams>
loaderData: ResolveLoaderData<TLoaderFn> | undefined
}) => {
links?: Array<React.JSX.IntrinsicElements['link']> | undefined
scripts?: Array<React.JSX.IntrinsicElements['script']> | undefined
meta?: Array<React.JSX.IntrinsicElements['meta']> | undefined
links?: AnyRouteMatch['links']
scripts?: AnyRouteMatch['scripts']
meta?: AnyRouteMatch['meta']
}
ssr?: boolean
}
Expand Down
2 changes: 2 additions & 0 deletions packages/start/src/client/Meta.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ export const useMeta = () => {
let title: RouterManagedTag | undefined
;[...routeMeta].reverse().forEach((metas) => {
;[...metas].reverse().forEach((m) => {
if (!m) return

if (m.title) {
if (!title) {
title = {
Expand Down
25 changes: 13 additions & 12 deletions packages/start/src/client/Scripts.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,19 @@ export const Scripts = () => {

const { scripts } = useRouterState({
select: (state) => ({
scripts: state.matches
.map((match) => match.scripts!)
.filter(Boolean)
.flat(1)
.map(({ children, ...script }) => ({
tag: 'script',
attrs: {
...script,
suppressHydrationWarning: true,
},
children,
})),
scripts: (
state.matches
.map((match) => match.scripts!)
.filter(Boolean)
.flat(1) as Array<RouterManagedTag>
).map(({ children, ...script }) => ({
tag: 'script',
attrs: {
...script,
suppressHydrationWarning: true,
},
children,
})),
}),
})

Expand Down

0 comments on commit adb3ab3

Please sign in to comment.