Next.js Discord

Discord Forum

Type 'ResolvingMetadata | undefined' does not satisfy the constraint 'ResolvingMetadata'.

Answered
Nelson posted this in #help-forum
Open in Discord
This is my generateMetadata and I got a type error when linting the code.
export const generateMetadata = async (
  _: AboutPageProps,
  parent?: ResolvingMetadata,
): Promise<Metadata> => {
  const previousOpenGraph = (await parent)?.openGraph || {}

  return {
    title,
    description,
    alternates: {
      canonical: `${site.url}/about`,
    },
    openGraph: {
      ...previousOpenGraph,
      url: `${site.url}/about`,
      type: 'profile',
      title,
      description,
    },
  }
}

Error:
Type error: Type 'ResolvingMetadata | undefined' does not satisfy the constraint 'ResolvingMetadata'.
  Type 'undefined' is not assignable to type 'Promise<ResolvedMetadata>'.

How to solve it?
Answered by fuma
parent can't be undefined, so:
export const generateMetadata = async (
  _: AboutPageProps,
  parent?: ResolvingMetadata,
): Promise<Metadata> => {


To
export const generateMetadata = async (
  _: AboutPageProps,
  parent: ResolvingMetadata,
): Promise<Metadata> => {
View full answer

2 Replies

parent can't be undefined, so:
export const generateMetadata = async (
  _: AboutPageProps,
  parent?: ResolvingMetadata,
): Promise<Metadata> => {


To
export const generateMetadata = async (
  _: AboutPageProps,
  parent: ResolvingMetadata,
): Promise<Metadata> => {
Answer