Как я могу читать и писать из / в Firebase в реагировать родной? - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть две коллекции в базе данных (назначение и пользователи). Коллекция встреч имеет одно поле (дата), в котором должны храниться дата и время, которые пользователь выбрал в приложении. Есть два файла, которые выполняют эту операцию: файл DatePicker. js записывает встречу и HomeScreen. js читает все встречи, сделанные пользователями, где последние встречи находятся вверху отображаемого списка.

Это DatePicker. js основано на коде, представленном на странице @act-native-community / datetimepicker. Во-первых, я хочу, чтобы currentDate был виден после выбора. const book, предполагается записывать в базу данных при нажатии кнопки book.

const Booking = () => {

    const [date, setDate] = useState(new Date(1598051730000));
    const [mode, setMode] = useState('date');
    const [show, setShow] = useState(false);

    const onChange = (event, selectedDate) => {
        const currentDate = selectedDate || date;
        setShow(Platform.OS === 'ios');
        setDate(currentDate);
    };

    const showMode = currentMode => {
        setShow(true);
        setMode(currentMode);
    };

    const showDatepicker = () => {
        showMode('date');
    };

    const showTimepicker = () => {
        showMode('time');
    };

    const book = () => {
        firebase.database().ref('appointment/').set({ date })
            .then((currentDate) => {
                console.log('currentDate ', currentDate)
            }).catch((error) => {
                console.log('error ', error)
            })
    }

    return (
        <View>
            <View style={styles.picker}>
                <Button
                    onPress={showDatepicker} title="Pick Date"
                />
            </View>

            <View style={styles.picker}>
                <Button
                    onPress={showTimepicker} title="Pick Time"
                />
            </View>

            {show && (
                <DateTimePicker
                    testID="dateTimePicker"
                    timeZoneOffsetInMinutes={0}
                    value={date}
                    mode={mode}
                    is24Hour={true}
                    display="default"
                    onChange={onChange}
                />
            )}

            <View>
                <Button
                    onPress={book} title="Book"
                />
            </View>
        </View>

    );
};

export default Booking;

Второй файл HomeScreen. js Здесь должна выполняться операция чтения.

const showAppointments = () => {
  const appointmentRef = firebase.database().ref("appointment/");

  appointmentRef.on("child_added", function(data) {
     const newAppoinment = data.val();
  });
}
export default class HomeScreen extends React.Component {

  render() {
    return (
      <View style={styles.container}>
        <View style={styles.header}>
          <Text style={styles.headerTitle}>Appointments</Text>
          <Button
            onPress={() => this.props.navigation.navigate('Booking')} title="Add"
          />
        </View>
        <FlatList
        data={showAppointments}
        />
      </View>
    );
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...