You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React+TypeScript报错TS2322:FC<{}>无法赋值给ReactNode求解决

解决TS2322:类型'FC<{}>'无法赋值给类型'ReactNode'错误

你猜的没错,问题就出在没调用组件表达式。Route组件的element属性要求传入已渲染的React节点(ReactNode),但你当前直接传递了组件本身(React.FC类型),这就造成了类型不匹配,触发了TS2322错误。

修改方案

把element={makeLogin}改为element={<makeLogin />},这样就将组件转换成了符合要求的React节点:

import React from 'react'
import { BrowserRouter, Routes, Route } from 'react-router-dom'

type Props = {
  makeLogin: React.FC
}

const Router: React.FC<Props> = ({ makeLogin }: Props) => {
  return (
    <BrowserRouter>
      <Routes>
        <Route path='login' element={<makeLogin />} />
      </Routes>
    </BrowserRouter>
  )
}

export default Router

如果makeLogin组件需要接收props,直接在标签中传递即可,比如:

<makeLogin username="test" />

内容的提问来源于stack exchange,提问作者Beto Mossmann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 09:23:13