you with valid type terremotos temblor react props objects not meant keys instead hoy functions found cortos collection chistes child array are _owner javascript firebase firebase-database

javascript - terremotos - objects are not valid as a react child(found object with keys $$typeof type key ref props_owner)



¿Cómo actualizar a todos los niños en Firebase? (2)

Intento que Firebase actualice a todos los niños en un nivel de árbol. Por ejemplo algo como esto:

firebase.child("auctions").child().update({a: true});

y esto me devolvió el error, porque el niño está vacío. ¿Hay alguna manera de actualizar a todos los niños de las subastas?


No necesita esa .child() vacía de .child() .

Qué firebase.child("auctions").update({a: true}); lo que va a hacer es cambiar /auctions/a/whatever to /auctions/a/true .

Si realmente desea "actualizar todos los elementos secundarios en un nivel de árbol", .set podría funcionar mejor, ya que reemplazará todos los datos en el punto final con el objeto que le proporcione. Entonces, si ejecuta firebase.child("auctions").set({a: true}); entonces todo debajo /auctions será reemplazado con {a: true}

Si no deseaba destruir todo en las /auctions , quería firebase.child("auctions/a").set(true); todo en auctions/a , podría hacer firebase.child("auctions/a").set(true);

Hay múltiples formas de lograr lo que necesita. Simplemente no estoy 100% seguro de lo que realmente necesitas.


Tendrá que pasar por encima de todos los niños en algún momento. Aquí hay una forma simple de hacer esto:

firebase.child("auctions").on(''value'', function(snapshot) { snapshot.ref().update({a: true}); // or snapshot.ref if you''re in SDK 3.0 or higher });

Alternativamente, primero puede recopilar todas las actualizaciones y luego enviarlas a Firebase como una única declaración de actualización (potencialmente grande):

var updates = {}; firebase.child("auctions").on(''value'', function(snapshot) { updates["auctions/"+snapshot.key+"/a"] = true; }); snapshot.ref().update(updates); // or snapshot.ref if you''re in SDK 3.0 or higher

Ambos fragmentos hacen lo mismo, pero este último envía un solo comando, por lo que es más resistente en caso de falla de la red.