gpt4 book ai didi

javascript - 要求组件子项属于特定类型

转载 作者:搜寻专家 更新时间:2023-10-30 21:57:16 25 4
gpt4 key购买 nike

我有以下组件:

interface OwnProps {
children: React.ReactElement<any>[];
}

export class ActionMenuRenderer extends React.Component<OwnProps> {
render() {
const { children } = this.props;
const actions = React.Children.toArray(children) as React.ReactElement<any>[];

return (
...
);
}
}

我是这样调用它的:

<ActionMenuRenderer>
<button type="button">View</button>
<button type="button">Edit</button>
<button type="button">Delete</button>
</ActionMenuRenderer>

我想要求 ActionMenuRenderer 的 child 可以是 <a> s 或 <button>秒。我尝试进行以下更改,但在我的 IDE 中没有看到编译错误:

interface OwnProps {
children: React.ReactElement<HTMLButtonElement | HTMLAnchorElement>[];
}

我怎样才能要求子组件是特定类型的?

最佳答案

目前这在 Typescript 中是不可能的(从 3.2 开始)。 Typescript 会将所有 React 组件生成为通用 JSX.Element 类型,不幸的是,它会满足您可能会尝试限制的任何特定子类型。

来源: https://github.com/Microsoft/TypeScript/issues/21699

关于javascript - 要求组件子项属于特定类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53121674/

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