首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在使用路径渲染时,ReactComponent没有与类型'IntrinsicAttributes &{IntrinsicAttributes?:ReactNode;}‘相同的属性

在使用路径渲染时,ReactComponent没有与类型'IntrinsicAttributes &{IntrinsicAttributes?:ReactNode;}‘相同的属性
EN

Stack Overflow用户
提问于 2020-03-11 15:48:00
回答 2查看 4.8K关注 0票数 2

使用时:

代码语言:javascript
复制
<Route path={rootPath} exact render={props => <LoginLayout {...props} />} />

在typescript LoginLayout中提示错误时:

代码语言:javascript
复制
Type '{ history: History<PoorMansUnknown>; location: Location<PoorMansUnknown>; match: match<any>; staticContext?: StaticContext | undefined; }' has no properties in common with type 'IntrinsicAttributes & { children?: ReactNode; }'.ts(2559)

我试着补充说:

代码语言:javascript
复制
const LoginLayout:FunctionComponent = (props: any) => { ... };

<Route path={rootPath} exact render={(props: any) => <LoginLayout {...props} />} />

但它不起作用。我也试过了:

代码语言:javascript
复制
const LoginLayout:FunctionComponent = (props: RouteComponentProps) => { ... };

<Route path={rootPath} exact render={(props: RouteComponentProps) => <LoginLayout {...props} />} />

它不起作用..。

EN

回答 2

Stack Overflow用户

发布于 2020-03-11 16:27:06

它抱怨是因为你正在将属性(RouteComponentProps)传递给组件,而组件并不期望得到它们。要修复,请执行以下操作:

代码语言:javascript
复制
const LoginLayout: FunctionComponent<RouteComponentProps> = () => {...};

或者甚至更短:

代码语言:javascript
复制
const LoginLayout: FC<RouteComponentProps> = () => {...};

Playground

票数 3
EN

Stack Overflow用户

发布于 2020-03-11 16:49:26

从‘react-router’扩展'RouterComponentProps‘,然后在你的功能组件中使用它

代码语言:javascript
复制
import React, { FunctionComponent } from "react";
import { RouteComponentProps } from "react-router";

type Props = { component: FunctionComponent } & RouteComponentProps;

const LoginLayout: FunctionComponent<Props> = () => {...};

export default LoginLayout;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60631323

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档