質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Redux

Reduxは、JavaScriptアプリケーションの状態を管理するためのオープンソースライブラリです。ReactやAngularで一般的にユーザーインターフェイスの構築に利用されます。

Router

Routerは、異なるネットワーク同士を相互に接続するための通信機器。インターネットでのデータを自動的に振り分け、一つのインターネット回線を複数のコンピュータで使用することが可能です。DHCPによりIPアドレスを自動的に割振りすることもできます。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

1886閲覧

Firebaseのdatabaseからの読み込みができない。

ryuto.nakamura

総合スコア60

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Redux

Reduxは、JavaScriptアプリケーションの状態を管理するためのオープンソースライブラリです。ReactやAngularで一般的にユーザーインターフェイスの構築に利用されます。

Router

Routerは、異なるネットワーク同士を相互に接続するための通信機器。インターネットでのデータを自動的に振り分け、一つのインターネット回線を複数のコンピュータで使用することが可能です。DHCPによりIPアドレスを自動的に割振りすることもできます。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2020/06/07 04:34

編集2020/06/07 04:37

#実現したいこと
現在、React・Redux・Firebaseでタスク管理アプリを作っています。
###現在のコード

userActions.js(抜粋)

javascript

1export const login = (type, email, password) => dispatch => { 2 dispatch({type: "LOGIN"}); 3 switch (type) { 4 case "EMAIL": { 5 //FirebaseのAuth*1でログイン ここは成功。 6 firebase.auth().signInWithEmailAndPassword(email, password).then(result => { 7 const db = firebase.firestore(); 8 const uid = result.user.uid 9 let name; 10 11 //Firebaseのデータベース*2からユーザー名を取得(今後タスクなども取得予定) ここでエラー 12 db.collection("users").get().then(querySnapshot => { 13 querySnapshot.forEach(doc => { 14 name = doc.name; 15 dispatch({type: "LOGIN_SUCCEEDED", uid: uid, name: name,}); 16 dispatch(push("/")) 17 }); 18 }).catch(err => { 19 dispatch({type: "LOGIN_REJECTED", error: err}); 20 }); 21 }).catch(err => { 22 dispatch({type: "LOGIN_REJECTED", error: err.message}); 23 }); 24 break; 25 } 26 27 default: {} 28 29 }

ここでは、おそらく問題が発生しているであろうプログラムだけ書きました。それ以外のコードは Github にあります。

**Firebase(Auth) *1 **

メールアドレスプロバイダ作成日ログインユーザーID
example@google.comMail2020/6/72020/6/7HzqPgVr3WcOHvaGQdjaFix9M8pt1

**Firebase(データベース) *2 **

ユーザーIDnamedoneTasks
HzqPgVr3WcOHvaGQdjaFix9M8pt1pehalute[](配列)

#発生するエラー

Userがログインする部分で下のようなエラーがしてしまいます。

errormessage

1[2020-06-07T03:54:57.645Z] @firebase/firestore: Firestore (7.15.0): Could not reach Cloud Firestore backend. Connection failed 1 times. Most recent error: FirebaseError: [code=unknown]: Fetching auth token failed: getToken aborted due to token change. 2This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend. index.js:1

#試したこと

  • your device does not have a healthy Internet connectionと書いてるのでネットワークを確かめたが、問題なく接続しており、同じFirebaseでもAuthには接続しているため、問題はないと判断。

  • GithubのIssuesを参考に他に接続しようと試みたが、接続できるネットがないため断念。

  • 同じ状況のブログを参考にfirebase-toolsをインストール

=>どれもうまくいかず。

#環境

  • MacOS
  • Firefox Developer Edition
  • VSCode
  • Node v12.16.1

FirebaseとReactというのが個人的に初めての組み合わせで手探りでやっているため、初歩的な問題かもしれませんが、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryuto.nakamura

2020/06/07 11:54

返信ありがとうございます。 firebaseやfirebasetoolsのバージョンを下げてみたのですが、変化はありませんでした。
ryuto.nakamura

2020/06/09 00:51

返信ありがとうございます。 npmを使っています。 yarnはcreate-react-appした時からあったのですがyarn.lockは消しても良いのでしょうか
hoshi-takanori

2020/06/09 00:53

yarn を使わないのであれば yarn.lock は消して大丈夫です。
ryuto.nakamura

2020/06/09 00:53

firebsaeのバージョンは、 npmで一旦アンインストールした後、適当なバージョンで再インストールしました。
ryuto.nakamura

2020/06/09 00:53

>yarnは消して良い わかりました。ありがとうございます。
hoshi-takanori

2020/06/09 01:07

package.json に "firebase": "^7.15.0" とありますが、これを "firebase": "^7.14.2" にしても ^ が付いてると 7.15.0 になってしまう (実際にインストールされたバージョンは package-lock.json に記録されてます) ので、^ を消して npm i する必要があるかと。(なお、7.14.2 は先ほどの issue で正しく動くと報告されているバージョンです。) https://qiita.com/sotarok/items/4ebd4cfedab186355867
ryuto.nakamura

2020/06/09 07:04

返信遅くなって申し訳ございません。 "<=7.14.2"で再インストールしたところ、うまく行きました! ありがとうございました。 ベストアンサーにしたいので、回答として同じ内容を書いていただけませんか?
guest

回答1

0

ベストアンサー

firebase-js-sdk 7.15.0 にバグが見つかって、現在修正中のようです。
参考: https://github.com/firebase/firebase-js-sdk/issues/3179

とりあえず 7.14.2 に戻せば動くみたいですが、package.json に ^ を使って "firebase": "^7.14.2" と書くと 7.15.0 がインストールされてしまいますのでお気をつけください。
参考: package.json のチルダ(~) とキャレット(^) - Qiita

投稿2020/06/09 07:15

hoshi-takanori

総合スコア7895

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryuto.nakamura

2020/06/09 07:16

丁寧にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問