gpt4 book ai didi

javascript - React children 应该设置为什么 TypeScript 类型?

转载 作者:行者123 更新时间:2023-12-03 07:18:10 33 4
gpt4 key购买 nike

这是我的布局:

export default function Layout(children:any) {
return (
<div className={`${styles.FixedBody} bg-gray-200`}>
<main className={styles.FixedMain}>
<LoginButton />
{ children }
</main>

<footer>
<FooterNavigation />
</footer>
</div>
)
}
我的应用程序:
function MyApp({ Component, pageProps }) {
return (
<Layout>
<Component {...pageProps} />
</Layout>
)
}
为了让我的代码更简洁,我想设置 Layout(children:any)更改为实际类型而不是任何类型,但是当我将其更改为 Layout(children:ReactNode) 时,我在组件的应用页面上收到此警告:

TS2322: Type '{ children: Element; }' is not assignable to type'IntrinsicAttributes | (IntrinsicAttributes & string) |(IntrinsicAttributes & number) | (IntrinsicAttributes & false) |(IntrinsicAttributes & true) | (IntrinsicAttributes &ReactElement<...>) | (IntrinsicAttributes & ReactNodeArray) |(IntrinsicAttributes & ReactPortal)'.   Type '{ children: Element; }'has no properties in common with type 'IntrinsicAttributes'.


那么我应该将其设置为 Layout(children:IntrinsicAttributes) { 是有道理的但是当我这样做时,没有选择导入它。这应该设置成什么?

最佳答案

props是一个对象 - childrenprops 内的嵌套字段目的。

interface LayoutProps {
children: React.ReactNode;
}

function Layout({ children }: LayoutProps) {

关于javascript - React children 应该设置为什么 TypeScript 类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64722861/

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