Antes de empezar a agregar la funcionalidad de like en nuestra aplicación vamos a ordenar un poco nuestro código. En el componente de LoginView había quedado toda la lógica de Firebase. Movamos eso a otro archivo llamado firebase.js
Ya no vamos a importar firebase de esta manera en nuestro archivo LoginView.js:
import* as firebase from 'firebase';
Sino que lo haremos así, importando nuestro archivo local:
importfirebase from './firebase';
Y en ese archivo, debemos mover la lógica de firebase, junto a la parte de auth también:
import* as firebase from "firebase";const config ={ apiKey:"AIzaSyDSxlKNdr4GZQjTZVo-8C_IKdHUKCJeHqM", authDomain:"platzimusic-57d2c.firebaseapp.com", databaseURL:"https://platzimusic-57d2c.firebaseio.com", storageBucket:"platzimusic-57d2c.appspot.com", messagingSenderId:"637626608564"}firebase.initializeApp(config);export const firebaseAuth = firebase.auth();export default firebase
Podemos tener tantos exports nombrados (como el caso de firebaseAuth) como queramos, pero sólo un default.
Las variables (o constantes) tienen el mismo nombre por lo que todo debe seguir andando igual. Ya tenemos todo lo relativo a firebase separado en un módulo aparte.
Con firebase.database() podemos obtener una referencia a nuestra base de datos en tiempo real. Así que podemos hacer lo mismo que con firebase.auth() en nuestro archivo de firebase.js pero ahora con database:
En Firebase, para acceder a las "colecciones" o "tablas" de datos o a los mismos objetos guardados en la base de datos debemos definir primero una referencia a cada una de ellos, con un string y luego podemos modificar sus valores o escuchar cambios que sucedan sobre ellos, como en este ejemplo que podemos encontrar en la documentación de Firebase:
var starCountRef = firebase.database().ref('posts/'+ postId + '/starCount');starCountRef.on('value',function(snapshot){updateStarCount(postElement, snapshot.val());});
Una observacion. Seria bueno hacer que la barra de seguimiento del video, sea un poco mas alta para que los icionos de audio, settings, velocidad de reproduccion y pantalla completa, no bloqueen la posibilidad de seleccionar los ultimos minutos a ver de un video cualquiera. Es un poco complicado querer ver una parte especifica en algunas oportunidades
Gracias por tu sugerencia, la tendremos en cuenta para mejorar nuestro player.
Es recomendable utilizar firebase, APIs de mi app y/o conexión a una bd???
Cual es la mejor práctica?
Esto es un ejemplo para trabajar con firebase, ahora si necesitas trabajar con tu base de datos hazlo asi, sino puedes hacer con firebase