Estoy usando reaccionar-administrador. Tengo firebase.js , que exporta un proveedor de datos y un proveedor de autenticación. En este momento firebase.js se parece a
export const authProvider = MyCustomAuthProvider(...) export const dataProvider = FirebaseDataProvider(..., {rootRef: "users/[authProvider.get~this~user().email]") Pero me gustaría que el dataProvider de datos importado cambie cuando el usuario inicia/cierra sesión (la razón es que el proveedor de datos tiene como colección raíz en 'usuarios/[correo electrónico del usuario]'). De hecho, esa es la razón por la que dejé de usar la caja negra de FirebaseAuthProvider , porque pensé que podía usar las funciones de inicio/cierre de sesión para activar el cambio del proveedor de datos.
¿Cuál es la mejor manera de lograr esto? Simplemente declare el proveedor de datos usando let dataProvider = null y cada vez que un usuario inicie o cierre sesión, establezca esa variable. ¿Y luego agregar una función al proveedor de autenticación que devuelva esa variable? Parece que hay una forma más elegante, pero desafortunadamente no tengo tanta experiencia en JavaScript.
También como referencia, la razón por la que estoy tomando este enfoque en lugar de simplemente crear un proveedor de datos con 'usuarios' de rootRef y luego acceder a la colección / documento correcto cuando quiero ver o modificar datos es porque FirebaseDataProvider es un poco caja negra y no No me dejes hacer eso (a menos que me esté perdiendo algo). Si pudiera hacer que todo esto funcione con FirebaseDataProvider, me ha ahorrado mucho tiempo, así que sería genial.