KASHIMURA Blog

Webサービス開発のこと、個人的なことを書いているブログ

2020-01-01から1年間の記事一覧

graphql-rubyで認証の有無を判断して処理を分ける

GraphQLをRails APIで採用する時、認証の有無で処理を分ける方法です。 実装方法は何パターンかあるみたいですが、自分はオペレーション名を見て認証が必要なオペレーションが1つ以上存在するなら認証処理を行うようにしました。 GraphQLを利用するためにgem…

カメラを使わずにQRコードを読み取る方法 #ReactNative

ReactNativeでカメラを使わずにQRコードを読み取って情報を取得する方法を紹介します。react-native-image-pickerとfirebaseのML Kitを利用することで比較的シンプルに実現することが可能です。

WebViewの画面遷移をスライドインで表現する #ReactNative

ReactNativeのWebViewで表示しているブラウザの画面遷移をiPhoneのようなスライドインで表現する方法を紹介します。react-navigationの機能をうまく利用することで簡単に実現することが可能です。(本記事はAndroidは対象にしていません)

ブリッジの実装は気をつけないと永遠に処理が止まる #ReactNative

ReactNativeでAndroid用のブリッジを実装する時、@ReactMethodを付与したメソッドにPromiseを渡している場合は、何か返さないと呼び出し元でawaitがついているときにずっと待ってしまいます。 new Promise() ではなく、普段async/awaitで非同期処理を書いて…

Restyleを利用してスタイルを定数化する #ReactNative

基礎となるスタイルを定数化してコンポーネントの役割ごとに色や間隔のサイズを柔軟に指定できるようにする@shopify/restyleを紹介します。 ReactNativeでスタイルを実装する場合、Stylesheetを定義されているかと思いますが、@shopify/restyleを利用するこ…

ReactNativeアプリを多言語化する方法 (react-intl)

ReactNative製のアプリを多言語に対応させる方法を紹介します。本記事では、Reactアプリを国際化するためのライブラリであるreact-intlを使い、端末の設定言語に沿って翻訳する方法やフォールバックの方法など実践的な実装方法を紹介しています。