换句话说,我可以使用React + TypeScript或React + Flow做这样的事情吗?
function Foo(rect:Rect) {
return <div><span>{rect.x}</span><span>{rect.y}</span></div>;
}
而不是:
function Foo({x,y}:{x:number,y:number}) {
return <div><span>{x}</span><span>{y}</span></div>;
}
答案 0 :(得分:1)
将它们创建为函数的属性。见https://facebook.github.io/react/docs/reusable-components.html#stateless-functions
function YourComponent(props) {}
YourComponent.propTypes = {
someProp: React.PropTypes.object.isRequired
};
export default YourComponent;
在Javascript中,函数只是对象。
答案 1 :(得分:0)
以下是我要找的答案:
// TypeScript
class Foo extends React.Component<FooProps, FooState> {}
// Flow
class Foo extends React.Component {
state: FooState;
props: FooProps;
}