gpt4 book ai didi

javascript - Typescript - 输入 React 组件时的 IntrinsicAttributes 和子类型问题

转载 作者:行者123 更新时间:2023-11-30 11:16:59 26 4
gpt4 key购买 nike

我正在将我的 React 文件迁移到 .tsx并遇到过这个问题。

页脚.tsx

const Footer = ({ children, inModal }) => (
<footer className={'(inModal ? " in-modal" : "") }>
<div>
{children}
</div>
</footer>
);

export default Footer;

ParentComponent.tsx

import Footer from 'path/to/Footer';

export class ParentComponent extends React.Component<{ showSomething: (() => void) }> {
render() {
return (
<Footer>
<Button onClick={() => this.props.showSomething()}>Add</Button>
</Footer>
);
}
}

<Footer> 下方有红色下划线带有错误的标记:

[ts] Type '{ children: Element; }' is not assignable to type 'IntrinsicAttributes & { children: any; inModal: any; }'. Type '{ children: Element; }' is not assignable to type '{ children: any; inModal: any; }'. Property 'inModal' is missing in type '{ children: Element; }'.

我不太确定如何解读这意味着什么。任何帮助将不胜感激。

最佳答案

错误表明 Footer 组件需要传递一个 prop inModal 给它。要解决此问题,您可以:

给它一个默认值:

const Footer = ({ children, inModal = false }) => ...

告诉 typescript 它是可选的:

const Footer = ({ children, inModal }: {children: any, inModal?: boolean}) => ...

或者在您使用页脚时明确提供该 Prop :

<Footer inModal={false}> ... </Footer>

关于javascript - Typescript - 输入 React 组件时的 IntrinsicAttributes 和子类型问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51161409/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com