2016-09-10 6 views
1

私はReactプロジェクトでmaterial-uiを使用しています。ミックスにFlowを導入しようとしています。ライブラリからインポートしたReactコンポーネントの定義を追加するには

例:

import Paper from 'material-ui/Paper'; 

type Props = { 
    ruleName: string, 
    rules: Object[], 
    actions: string[], 
    allowSubmit: boolean, 
    onSubmit: ?Function, 
} 

const NotifyRule = (props: Props) => (
    <Paper style={{ padding: 10, width: '100%' }}> 
     .... 
    </Paper> 
); 

私は、これは動作しません

declare module 'material-ui' { 
    declare type Paper = any; 
    declare var exports: 'material-ui'; 
} 

ような材料-UIの定義を書き込もうとしました。私は失敗を取得:

import Paper from 'material-ui/Paper'; ^^^^^^^^^^^^^^^^^^^ material-ui/Paper. Required module not found

これを解決するための任意のポインタが本当に役立つだろう。

+0

あなたは[flows]セクションで[libs]セクションを指定しましたか? – Kafo

+0

はい、私は正しいライブラリがあると信じています。 – sheki

+0

もっとコードを投稿できますか?これに関連するもの – Kafo

答えて

2

あなたは流れがそれを認識させるために、別々のサブモジュールを宣言する必要があります。

declare module 'material-ui/Paper' { 
    declare var exports: any; 
} 

declare module 'material-ui' { 
    // Note: That export value looks weird to me, but whatever 
    declare var exports: 'material-ui'; 
} 

我々はflow-typedリポジトリにReduxの-サガと似た何かをした...多分あなたは

:-)そこにいくつかのインスピレーションを得ます

https://github.com/flowtype/flow-typed/blob/master/definitions/npm/redux-saga_v0.11.x/flow_%3E%3Dv0.28.x/redux-saga_v0.11.x.js

関連する問題