redux-sagaとFlowを一緒に使いたいときの覚書

Ducksでmodulesにredux-sagaの処理も書いたらもろもろハマりかけたので、覚書。 redux-saga/effects. Required module not found こういう書き方してるとflow […]

広告ここから
広告ここまで

目次

    Ducksでmodulesにredux-sagaの処理も書いたらもろもろハマりかけたので、覚書。

    redux-saga/effects. Required module not found

    こういう書き方してるとflowコマンド実行するとだいたい遭遇します。

    import { take, put, call, select } from 'redux-saga/effects';

    flow-typed create-stub [email protected]`とかで.flow-typed/にスタブを作ればよさそうなのですが、それだけでは解決しませんでした。

    issueを見ていると、 https://github.com/flowtype/flow-typed/issues/1555#issuecomment-345578906に「redux-saga/lib/effectsからimportしたらいけたよ」というコメントがありましたので、今回はとりあえずこれで対応しています。

    import { take, put, call, select } from 'redux-saga/lib/effects';

    コメントを見ている限り、ハック的な対応なのでこれで対応できないパッケージもある様子なので要注意です。

    yield. Missing annotation

    sagaの処理にGeneratorを使います。その関係でGeneratorのアノテーションも書いておかないとflowがこけます。

    flow-typedのリポジトリにサンプルがありますので、そのあたりを参考にしましょう。

    function* g6(a: string, b: number, c: string, d: number, e: string, f: number): Generator<any, number, any> { return 1; }

    広告ここから
    広告ここまで
    Home
    Search
    Bookmark