Javascript 如何使用流类型约束此函数的返回值?
我想说“Javascript 如何使用流类型约束此函数的返回值?,javascript,flowtype,Javascript,Flowtype,我想说“mySelector返回一个字符串”。我能用Flowtype做这个吗 import { createSelector } from 'reselect'; const mySelector = createSelector([anotherSelector], () => 'foo'); 如果您还没有这样做,那么在项目中获取重新选择的类型定义可能会有所帮助。您可以使用自动获取npm依赖项的类型定义。(Reselect确实随Typescript类型定义一起提供,Flow将来可能能
mySelector
返回一个字符串”。我能用Flowtype做这个吗
import { createSelector } from 'reselect';
const mySelector = createSelector([anotherSelector], () => 'foo');
如果您还没有这样做,那么在项目中获取重新选择的类型定义可能会有所帮助。您可以使用自动获取npm依赖项的类型定义。(Reselect确实随Typescript类型定义一起提供,Flow将来可能能够读取Typescript定义;但AFAIK Flow此时无法读取Typescript定义。) 无论Flow是否正确地推断出
mySelector
的类型,显式地声明您期望的类型可能会很有用。您可以通过在const
声明上放置类型注释来实现这一点:
constmyselector:()=>string=createSelector([anotherSelector],()=>foo');
这样的显式注释有助于确保您与类型检查器位于同一页面上。Flow将强制您在引用
mySelector
时指定的签名,除非Flow为mySelector
推断出一个矛盾的类型,在这种情况下它将报告一个错误。一旦您定义了“result function”(()=>“foo”
)返回字符串,它将自动推断出来