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

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

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

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Firebase

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

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

Firebase Authentication

Firebase Authenticationは、Firebaseを利用したユーザーの認証機能です。バックエンドサービス、SDK、アプリでのユーザー認証に使用できるUIライブラリが用意されています。

Q&A

解決済

1回答

1479閲覧

firebaseでdisplayNameを取得したい

cyacya.0325

総合スコア11

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Firebase

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

Vuex

Vuexは、Vue.js アプリケーションのための状態管理ライブラリです。アプリケーション内で使用するコンポーネントのための集中データストアを提供。コンポーネント同士でデータをやり取りし、処理のフローを一貫させたり、データの見通しを良くすることができます。

Vue CLI

Vue CLIは、Vue.jsでアプリケーション開発を行うためのコマンドラインインタフェース(CLI)に基づいた開発ツールです。インタラクティブなプロジェクトの雛形や設定なしで使用できるプロトタイプの作成など、さまざまな機能が用意されています。

Firebase Authentication

Firebase Authenticationは、Firebaseを利用したユーザーの認証機能です。バックエンドサービス、SDK、アプリでのユーザー認証に使用できるUIライブラリが用意されています。

0グッド

1クリップ

投稿2021/04/05 15:52

firebaseにてdisplayNameを取得しようとしているのですが、displayNameがnullになり、取得ができないです。
displayNameをfirebaseに登録する処理が間違っていると思うのですが、どこが間違っているかわからないです。ご教授よろしくお願いします。

js

1store.js 2 3 4import Vue from 'vue'; 5import Vuex from 'vuex'; 6import firebase from './plugin/firebase.js'; 7import router from './router.js'; 8 9Vue.use(Vuex); 10 11export default new Vuex.Store({ 12 state: { 13 userName: '', 14 email: '', 15 password: '', 16 }, 17 getters: { 18 email(state) { 19 return state.email; 20 }, 21 password(state) { 22 return state.password; 23 }, 24 userName(state) { 25 return state.userName; 26 }, 27 }, 28 mutations: { 29 setEmail(state, email) { 30 state.email = email; 31 }, 32 setPassword(state, password) { 33 state.password = password; 34 }, 35 setUsername(state, userName) { 36 state.userName = userName; 37 }, 38 }, 39 actions: { 40 registerUser({ commit }, userInfo) { 41 firebase 42 .auth() 43 .createUserWithEmailAndPassword(userInfo.email, userInfo.password) 44 .then((response,userInfo) => { 45 // commit('setUsername', user.userName); 46 response.user.updateProfile({ 47 displayName: userInfo.userName, 48 // displayName:state.userName 49 // displayName:user.userName 50 }); 51 console.log(response); 52 const user = firebase.auth().currentUser; 53 commit('setEmail', user.email); 54 commit('setPassword', user.password); 55 commit('setUsername', user.userName); 56 router.push('/Home'); 57 }) 58 .catch((e) => { 59 console.log(e); 60 }); 61 }, 62 logIn({ commit }, userInfo) { 63 firebase 64 .auth() 65 .signInWithEmailAndPassword(userInfo.email, userInfo.password) 66 .then((response) => { 67 const user = firebase.auth().currentUser; 68 commit('setEmail', user.email); 69 commit('setPassword', user.password); 70 console.log(response); 71 // router.push('/Home'); 72 console.log(firebase.auth().currentUser.displayName); 73 // console.log(firebase.auth().currentUser.displayName); 74 }) 75 .catch((e) => { 76 console.log(e); 77 }); 78 }, 79 }, 80}); 81

displayNameを表示させる

vue

1<template> 2 <div> 3 <p>{{userName}}さんようこそ!!</p> 4 </div> 5</template> 6 7<script> 8import firebase from '../plugin/firebase.js' 9export default { 10 data() { 11 return { 12 userName:firebase.auth().currentUser.displayName, 13 } 14 }, 15} 16</script> 17

会員登録のコード

vue

1<template> 2 <div> 3 <div> 4 <h1>新規登録画面</h1> 5 </div> 6 <form @submit.prevent="signUp()"> 7 <div> 8 <label>ユーザ名</label> 9 <input 10 type="text" 11 v-model="userInfo.userName" 12 placeholder="userName" 13 class="text" 14 /> 15 </div> 16 <div> 17 <label>メールアドレス</label> 18 <input 19 type="email" 20 v-model="userInfo.email" 21 placeholder="E-mail" 22 class="email" 23 /> 24 </div> 25 <div> 26 <label>パスワード</label> 27 <input 28 type="text" 29 v-model="userInfo.password" 30 placeholder="Password" 31 class="password" 32 /> 33 </div> 34 <button class="register" type="submit">新規登録</button><br /> 35 </form> 36 </div> 37</template> 38 39<script> 40export default { 41 data() { 42 return { 43 userInfo: { 44 email: '', 45 password: '', 46 userName: '', 47 }, 48 }; 49 }, 50 methods: { 51 signUp() { 52 this.$store.dispatch('registerUser', this.userInfo); 53 }, 54 }, 55}; 56</script> 57 58<style scoped> 59.text, 60.email, 61.password { 62 border: 1px solid; 63} 64ul li { 65 list-style: none; 66} 67.email { 68 margin-right: 47px; 69} 70.password { 71 margin-right: 18px; 72} 73label { 74 text-align: center; 75} 76.register { 77 border: 1px solid; 78 background-color: white; 79 color: blue; 80 outline: none; 81} 82</style> 83

よろしくお願いします

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

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

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

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

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

gambaldia

2021/04/05 22:25

Firestoreへの登録が成功しているかどうかはFirebaseのコンソールに行けばわかりますよね。 その後レスポンスをconsole.log表示してどこまでデータが入っているかを順番に追跡すればかなり詰めていけると思います。もう少し調べて結果を書いてください。
guest

回答1

0

自己解決

consoleで色々試したらできました

投稿2021/04/06 17:14

cyacya.0325

総合スコア11

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問