import React, { useState } from 'react'; import { AuthCheck, SuspenseWithPerf, useDatabaseObjectData, useDatabase, useDatabaseListData } from 'reactfire'; const Counter = props => { const database = useDatabase(); const ref = database.ref('counter'); const increment = amountToIncrement => { ref.transaction(counterVal => { return counterVal + amountToIncrement; }); }; const { data: count } = useDatabaseObjectData(ref); return ( <> {count} ); }; const AnimalEntry = ({ saveAnimal }) => { const [text, setText] = useState(''); const [disabled, setDisabled] = useState(false); const onSave = () => { setDisabled(true); saveAnimal(text).then(() => { setText(''); setDisabled(false); }); }; return ( <> setText(target.value)} /> ); }; const List = props => { const database = useDatabase(); const ref = database.ref('animals'); const { data: animals } = useDatabaseListData(ref, { idField: 'id' }); const addNewAnimal = commonName => { const newAnimalRef = ref.push(); return newAnimalRef.set({ commonName }); }; const removeAnimal = id => ref.child(id).remove(); return ( <> ); }; const SuspenseWrapper = props => { return (

Sample Object Listener

Sample List Listener

); }; export default SuspenseWrapper;