2017-09-26 10 views
0
私はFlowTypeでオブジェクトを返す関数に注釈を付ける必要がある

は、私はいくつかのオプションを持って見ますのみで機能:FlowType注釈機能の戻り値の型

const getForecastHourly = (query:number):ActionType => ... 

C)オブジェクト上の注釈のみエクスポート:

const getForecastHourly:ActionType = (query:number) => ... 

私のコードでは、バージョンA)を使用していますが、BまたはCが同等で、どのバージョンが示唆があり、その理由がわかりますか?

// @flow 
 
import {ActionType} from '../../types' 
 

 
import 'isomorphic-fetch' 
 
import * as api from '../../app/api' 
 
import * as types from './forecastHourlyActionTypes' 
 

 
const getForecastHourly:ActionType = (query:number):ActionType => ({ 
 
    type: types.GET_FORECAST_HOURLY, 
 
    payload: new Promise((resolve, reject) => { 
 
    fetch(api.forecast(query)).then(response => { 
 
     resolve(response.json()) 
 
    }) 
 
    }) 
 
}) 
 

 
const setForecastHourlyActiveReportType:ActionType = (type:string):ActionType => ({ 
 
    type: types.SET_FORECAST_HOURLY_ACTIVE_REPORT_TYPE, 
 
    payload: type 
 
}) 
 

 
export { getForecastHourly, setForecastHourlyActiveReportType }

export type ActionType ={ 
 
    +type:string, 
 
    +payload: Object 
 
    }

答えて

1

flow約を知っているので私は何をすることだけ

const getForecastHourly = (query: number): ActionType => ({ /* - */ }); 

のような関数自体に注釈を付けています、それは値が変更できないことを知っており、タイプ自体を把握します。

letを使用する場合は、変数自体に注釈を付けることもあります。flowは、正しい型の値を再割り当てすることを確認できます。

関連する問題