ランサーズ等のサービスを開発・運用する中で得た知識やノウハウを紹介しています。

thumbnail

Labels:  JavaScript 投稿者:mori-dev

コールバックスタイルの外部ライブラリなどの関数を redux-saga で使うには

です。本日の課題とその対処です。

課題

外部ライブラリの関数が、コールバックスタイルのため、redux-saga の自前実装部分との実装の統一感がない。たとえば、navigator.geolocation.getCurrentPosition で現在地を取得することを考えます。以下のようなコードをコンポーネントに書くのは微妙です。

対処

Promise でラップすることで、redux-saga の call が使えて、普通の API コール系と同様に書けるようになります。他とアプローチを揃えておくと、将来的な抽象化の可能性などもあがっていいですね。

ランサーズではサービスを成長させてくれるエンジニア、デザイナーを募集しています!
ご興味がある方は、以下URLよりご応募ください。

PHPエンジニア
Rubyエンジニア
フロントエンドエンジニア
インフラエンジニア
新卒エンジニア
その他採用情報

関連記事

thumbnail
redux-persist でブラウザストレージに一部のデータを保存しつつ、ストアに復旧するまで render を防ぐには

森です。 課題 redux-persist を使っていて、ブラウザリロード時にブラウザストレージからストアにデータを復旧する前に render されるのを防ぎたい。ストアに値があることが前提のコンポーネントでエラーになるから。公式ドキュメントとしてレシピがあっ …

thumbnail
redux アプリで定期実行処理を書くには

森です。redux アプリで redux-saga を使って定期実行処理を書いてみました。 要件 redux-saga で以下を実装する方法を検討しました。 定期的にステート(本稿では reducer で分割したストア)の値をチェックして何かする 定期的に A …

5分で完了!Webサイトに簡単にチュートリアルが作れるIntro.jsの使い方

こんにちは! ランサーズ株式会社の開発部でエンジニアをしております、神庭(かんば)です。 最近、SEOが楽しくて仕方がないお年頃です!   先日、サービスの操作説明をするために、操作マニュアル(チュートリアル)ようなものを作りたいって要望があり、少し …