#Type error: This JSX tag's 'children' prop expects a single child of type 'never', but multiple chil
1 messages · Page 1 of 1 (latest)
Hi @weary otter. I'm kapa.ai, your friendly support bot. I will try to answer your question by searching through the knowledge base. :wave:
This error is related to a breaking change in Next.js 15 regarding how components handle children props. Let me explain what's happening and how to fix it.
The Issue
In Next.js 15, there was a significant change to how props are handled, particularly with the children prop. The error you're seeing indicates that your components are receiving multiple children when they're typed to expect either a single child or no children at all.
Why This Is Happening
Next.js 15 introduced a change where certain props like params are now Promises, which affected the type checking for components. This is particularly noticeable in layout components and other components that receive children.
How to Fix It
There are a few approaches to resolve this issue:
-
Update your component type definitions: If you're using TypeScript with React.FC or similar type annotations, you might need to update them to properly accept children.
Instead of:
const MyComponent: React.FC = () => { ... }Use:
const MyComponent = ({ children }: { children: React.ReactNode }) => { ... } -
Wrap multiple children in a fragment: If you're passing multiple children to a component that expects a single child, wrap them in a React fragment.
<MyComponent> <> <ChildOne /> <ChildTwo /> </> </MyComponent> -
Check for React.FC usage: As mentioned in one of the issues, using React.FC without props can cause this problem in Next.js 15. Try removing React.FC from your component definitions.
// Instead of const Page: React.FC = () => { ... } // Use const Page = () => { ... }
Additional Context
This issue has been reported by several users after migrating to Next.js 15, as seen in this GitHub issue. One user specifically mentioned that removing React.FC from their page components resolved the issue.
If you're using MDX components, there are also related issues with Next.js 15 that might be causing similar errors, as noted in another GitHub issue.