【发布时间】:2017-09-11 05:19:43
【问题描述】:
我想做的事情是这样的:
MyButton.jsx
type Props = { foo?: 'x' | 'y' | 'z'; ...HTMLProps<HTMLButtonElement> };
const MyButton = ({ foo = 'y', ...props }: Props) => {
return (
<button class={foo} {...props}/>
)
}
Application.jsx
...
render() {
<MyButton
onClick={() => this.setState({ bar: true })}
foo="z" />
}
...
不幸的是,这种将一种类型或接口的所有内容复制到另一种类型或接口的语法不存在。
FlowType 对 HTML 属性的支持非常有用,我不想将它们全部复制到我自己的 props 定义中,以便将它们传递给子元素 - 相反,我只想添加一些我自己的属性到此列表中,将它们摘下并将剩余的发送到链中。
【问题讨论】:
-
我在这里要求过类似的东西;很高兴有投票:github.com/facebook/flow/issues/7644
标签: javascript reactjs types jsx flowtype