Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在React.CreateClass中为对象属性提供流类型提示_Javascript_Reactjs_Flowtype - Fatal编程技术网

Javascript 如何在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

我有一些React代码,它使用React.createClass创建的组件

一些组件将对象上的内容存储为普通属性,例如
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 }));