![](/img/trans.png)
[英]Type JSX.Element is not assignable to type React.ReactNode when using customed conditional render component
[英]Type '() => JSX.Element' is not assignable to type 'ReactNode'
尝试从 object 调用组件以类型错误结束:类型“() => JSX.Element”不可分配给类型“ReactNode”
const Login = () => <>login</>
const publicRoutes = [
{
path: '/login',
component: Login
}
]
function AppRouter() {
return <Routes>
{publicRoutes.map(({path, component}) => (
<Route path={path} element={component} /> // warning
))}
</Routes>
)
}
从版本 6 开始,react 路由不再获取组件,而是获取元素。 因此,您需要像这样传递<Component/>
而不是传递组件:
{publicRoutes.map(({path, component: Component}) => (
<Route path={path} element={<Component/>} /> // warning
))}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.