Javascript 如何在React.CreateClass中为对象属性提供流类型提示
我有一些React代码,它使用React.createClass创建的组件 一些组件将对象上的内容存储为普通属性,例如Javascript 如何在React.CreateClass中为对象属性提供流类型提示,javascript,reactjs,flowtype,Javascript,Reactjs,Flowtype,我有一些React代码,它使用React.createClass创建的组件 一些组件将对象上的内容存储为普通属性,例如this.foo,而不是this.props.foo或this.state.foo 有没有办法提供关于“foo”属性的提示?我现在不想重写这些组件。您可以为传递给createClass的对象提供显式类型。差不多 /* @flow */ import React from 'react'; type Spec = { foo: string }; const spec: Sp
this.foo
,而不是this.props.foo
或this.state.foo
有没有办法提供关于“foo”属性的提示?我现在不想重写这些组件。您可以为传递给
createClass
的对象提供显式类型。差不多
/* @flow */
import React from 'react';
type Spec = { foo: string };
const spec: Spec = {
foo: 'bar',
render() {
return <div>{this.foo}</div>;
}
}
const MyComponent = React.createClass(spec);
/* @flow */
import React from 'react';
const MyComponent = React.createClass(({
foo: 'bar',
render() {
return <div>{this.foo}</div>;
}
}: { foo: string }));
/* @flow */
import React from 'react';
const MyComponent = React.createClass(({
foo: 42, // <-- error: number. This type is incompatible with string
render() {
return <div>{this.foo}</div>;
}
}: { foo: string }));