Reduxを使用するときにボイラープレートコードをわずかに減らすために、アイデアは、非同期要求のタイプを生成するための最も単純なライブラリを作成することを思いつきました。
ライブラリー自体は
こちらです。 非同期リクエストのタイプは
ここにあります 。
たとえば、次のように書く代わりに:
const CREATE_ITEMS = "CREATE_ITEMS"; const CREATE_ITEMS_START = "CREATE_ITEMS_START"; const CREATE_ITEMS_FINISH = "CREATE_ITEMS_FINISH"; const CREATE_ITEMS_ERROR = "CREATE_ITEMS_ERROR"; const GET_ITEMS = "GET_ITEMS"; const GET_ITEMS_START = "GET_ITEMS_START"; const GET_ITEMS_FINISH = "GET_ITEMS_FINISH"; const GET_ITEMS_ERROR = "GET_ITEMS_ERROR"; const DELETE_ITEMS = "DELETE_ITEMS"; const DELETE_ITEMS_START = "DELETE_ITEMS_START"; const DELETE_ITEMS_FINISH = "DELETE_ITEMS_FINISH"; const DELETE_ITEMS_ERROR = "DELETE_ITEMS_ERROR";
このように書くことができます:
import reduxTypesCreator from "redux-types-creator"; const actionTypes = reduxTypesCreator(true)
このライブラリは、すでにお気づきのように、
部分アプリケーションの関数型プログラミングのトリックを使用してい
ます 。
行数が12から5に減少していることがわかります。これは3種類のみです。 これははるかに便利であり、これにより開発速度がわずかに向上するように思えました...
サガでの使用例(例は教育のみです!):
import reduxTypesCreator from "redux-types-creator"; import { takeEvery, put } from 'redux-saga/effects'; const actionTypes = reduxTypesCreator(true)
このライブラリを使用する最も簡単な例は、
ここと
ここにあり
ます 。
そのようなライブラリが多数存在する可能性はありますが、私はそのような実装が好きです。 おそらくどこに、つまり、例のエラー、なぜなら 私は急いでいました...あなたのコメントとあなたの意見をコメントに書いてください...