2016-10-20 14 views
2

私は、反応モジュールと反応ネイティブモジュールをインポートし、それらのタイプ定義をインストールしました(typings経由)。Typescript Reactネイティブプロジェクトでフェッチ関数の型定義を取得するにはどうすればよいですか?

フェッチ機能が認識されません。どうすればそれを稼働させることができますか?

src/reducers/calendar/actions.ts(16,5): error TS2304: Cannot find name 'fetch'. 
+0

それが表示された新しいバージョンで構築されたフェッチの定義がありますが、私は型定義を持っているなどAxiosとして見つかったのライブラリを持っています内蔵されたジェネリックを含むので、使いやすくなります – cubabit

答えて

1

2017年9月12日

現在の活字体がtypings.jsonを非推奨のため、このソリューションは動作しません更新しました。 2016年10月28日

を更新しました

私は私が前に反応し、ネイティブタイピングをパッチを適用することを忘れてしまいました。この行をtypings/globals/react-native/index.d.tsに追加しました。

オリジナル

5643: export type fetch = (url: string, options?: Object) => Promise<any> 
5644: export const fetch: fetch; // patch `fetch` not found problem 

私はこの問題を解決するために、ファイルの先頭(あなたのケースでaction.ts)に次の行を追加しました。

import {fetch} from "react-native"; 

マイtypings.json

{ 
    "globalDependencies": { 
    "fbemitter": "registry:dt/fbemitter#2.0.0+20160618175531", 
    "flux": "registry:dt/flux#0.0.0+20160618175531", 
    "immutable": "registry:dt/immutable#3.8.1+20160608070634", 
    "react": "registry:dt/react#0.14.0+20160927082313", 
    "react-dom": "registry:dt/react-dom#0.14.0+20160412154040", 
    "react-native": "registry:dt/react-native#0.29.0+20160928135220", 
    "react-native-button": "file:typings/custom/react-native-button/index.d.ts", 
    "react-native-fbsdk": "file:typings/custom/react-native-fbsdk/index.d.ts" 
    }, 
    "dependencies": { 
    "react-native-router-flux": "npm:react-native-router-flux", 
    "rxjs": "npm:rxjs" 
    } 
} 

マイpackage.json:活字体の

{ 
    "name": "SomeApp", 
    "version": "0.0.1", 
    "private": true, 
    "scripts": { 
    "start": "node node_modules/react-native/local-cli/cli.js start" 
    }, 
    "dependencies": { 
    "flux": "^3.1.0", 
    "react": "15.3.2", 
    "react-native": "0.34.1", 
    "react-native-button": "^1.7.1", 
    "react-native-fbsdk": "^0.3.0", 
    "react-native-linkedin-login": "^1.3.0", 
    "react-native-localization": "^0.1.22", 
    "react-native-router-flux": "^3.35.0", 
    "react-native-scrollable-tab-view": "^0.6.0", 
    "rxjs": "^5.0.0-rc.1", 
    "typings": "1.4.0" 
    }, 
    "devDependencies": { 
    "typescript": "2.0.3" 
    } 
} 

+0

私のためには機能しません。私は 'src/reducers/calendar/actions.ts(18,5):error TS2304:名前 'fetch'を見つけることができません。' typings.jsonからのこの型定義ファイルを使用しています: '' react-native ': "レジストリ:dt/react-native#0.29.0 + 20160830141535" ' – cubabit

+0

私はこのタイプの定義を使用しています: "react-native": "registry:dt/react-native#0.29.0 + 20160928135220"それは私のように新しいです。何が変わったかチェックしてみましょう – HKTonyLee

+0

@cubabitこんにちは、私はreact-native.d.tsのメンテナーです。 'fetch'は' export type fetch =(url:string、options ?: Object)=> Promise 'を使って型としてエクスポートされます。上記のTODOに示されているように、この定義は確実に改善することができますが、そこにあります。 d.tsファイルを確認できますか? –

関連する問題