Genial, me encanta que aquí aplicamos también las HOF, al usar un mutator SET_ITEM, también me estoy haciendo cómo sería la idea de hacer lo mismo usando firestore
Bienvenida e Introducción
Bienvenida y Presentación del proyecto: PlatziRooms
Creación y configuración inicial del proyecto utilizando VUE CLI 3
Boilerplate y Limpieza del proyecto
Render Functions y JSX
¿Que son las Render Functions y JSX?
Preparando nuestro entorno para un prototipo
Creación de un componente con createElement
Utilizando JSX para la creación de un componente
Utilizando Slots con Render Functions y JSX
Creando un Modal de Login para PlatziRooms
Creando la lógica general de nuestros modales con Vuex
Creando el contenido de nuestro modal
Componentes controlados y uso de librerías externas
Componentes Controlados y Variables Personalizadas
Construcción del componente de Recordar Contraseña
Creación de un componente Slider utilizando la librería tiny-slider
High Order Functions
¿Qué son las High Order Functions? - Crea tu primera HOF
Vuex
Obtener datos usando Vuex
Crea un getter dinámico en Vuex utilizando HOF
Creación de la vista para creación de publicaciones
Agregando datos con Vuex
Base de datos en tiempo real con Firebase
Instalación y Configuracion de Firebase Realtime Database
Obteniendo los datos desde Firebase Realtime Database
Agregando la consulta de usuarios
Almacenando nuevas publicaciones en Firebase Realtime Database
Perfeccionando el flujo de navegación de nuestra App
Autenticación con Firebase
Configuracion Inicial para trabajar con Firebase Authentication
Agregando nuevos usuarios en firebase autentication
Inicio de sesión de usuario
Cierre de sesión de usuario
Protegiendo páginas utilizando Navigation Guards
Scoped Slots
¿Qué son los Scoped Slots? Dónde utilizarlos y por qué
Integración de Scoped Slots en Platzi Rooms
Deploy
Creando y desplegando nuestra app en Heroku
Conclusiones y Despedida
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Javier Diaz Chamorro
Aportes 7
Preguntas 2
Genial, me encanta que aquí aplicamos también las HOF, al usar un mutator SET_ITEM, también me estoy haciendo cómo sería la idea de hacer lo mismo usando firestore
si hace este curso en el 2021 …
tuve problemas al importar firebase…
SOLUCION:
ademas les dejo mi archivo firebase.js
//
import firebase from ‘firebase’;
const firebaseConfig = {
apiKey: “”,
authDomain: “”,
databaseURL: “”,
projectId: “platzy-rooms”,
storageBucket: “”,
messagingSenderId: “”,
appId: “”
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
const database = firebase.database();
const auth = firebase.auth();
export { database, auth }
// en el store.js solo queda hacer
import { database } from “./firebase.js”;
y por ejemplo para la instancia quedaría
let instance = database.ref(“rooms”);
y deberia funkar… Saludos desde Ecuador …
Copié el codigo del profe pero me dice lo isguiente
index.cjs.js?3523:1618 Uncaught (in promise) Error: Reference.child failed: First argument was an invalid path = "null". Paths must be non-empty strings and can't contain ".", "#", "$", "[", or "]"
mi codigo es en store.js
FETCH_USER: ({ state, commit }, { id }) => new Promise((resolve) => {
firebase.database().ref('users').child(id).once('value', (snapshot) => {
commit('SET_ITEM', { resource: 'users', id: snapshot.key, item: snapshot.val() });
resolve(state.users[id]);
});
}),
`<code>
a mi me sale este error:
index.esm.js?e947:705 Uncaught TypeError: Cannot use 'in' operator to search for '-KsjWehQ--apjDBwSBCZ' in undefined
at Function.set (vue.runtime.esm.js?2b0e:1076)
at Store.SET_ITEM (store.js?c0d6:32)
at wrappedMutationHandler (vuex.esm.js?2f62:840)
at commitIterator (vuex.esm.js?2f62:462)
at Array.forEach (<anonymous>)
at eval (vuex.esm.js?2f62:461)
at Store._withCommit (vuex.esm.js?2f62:620)
at Store.commit (vuex.esm.js?2f62:460)
at boundCommit (vuex.esm.js?2f62:405)
at eval (store.js?c0d6:57)```
Llevo varios intentos y sigue sin funcionar 😪 seguiré a ver si en otras clases se arregla al organizar todo. Me salen varios errores pero reviso el código con el del profesor y todo parece igual
Aunque odio que el código que se descargue en esta clase ya tenga un montón de cosas raras de las proximas clases.
Para el que este trabajando en 2022 con firebase 9 y Vue 2, la consulta en el store para hacer un fetch del usuario es la siguiente:
FETCH_USER: ({ state, commit }, { id }) => new Promise((resolve) => {
const dbRef = ref(getDatabase());
get(child(dbRef, `users/${id}`)).then((snapshot) => {
commit('SET_ITEM', { resource: 'users', id: snapshot.key, item: snapshot.val() });
resolve(state.users[id]);
});
}),
Buenas noches. Estoy de acuerdo con los companeros, tengo el mismo error que ellos:
index.cjs.js?3523:1669 Uncaught (in promise) Error: Reference.child failed: First argument was an invalid path = "null". Paths must be non-empty strings and can't contain ".", "#", "$", "[", or "]"
at validatePathString (index.cjs.js?3523:1669)
at Reference.child (index.cjs.js?3523:13845)
at eval (store.js?c0d6:82)
at new Promise (<anonymous>)
at Store.FETCH_USER (store.js?c0d6:80)
at Array.wrappedActionHandler (vuex.esm.js?2f62:778)
at Store.dispatch (vuex.esm.js?2f62:457)
at Store.boundDispatch [as dispatch] (vuex.esm.js?2f62:347)
at Vue.beforeCreate (main.js?56d7:28)
at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854)
A que se debe?
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?