Я пытаюсь создать приложение для напоминания о воде.У меня есть 4 экрана, и я использую реагирующую навигацию
- Домашняя страница (что позволяет пользователям увеличивать количество выпитого в тот день и отображать, сколько воды они выпили)
- История (гдеистория потребления воды пользователем отображается в виде графика, и здесь мне нужен вложенный объект)
- Уведомления (где пользователи определяют с помощью кнопок переключения, хотят ли они получать уведомления и когда получать)
- Настройки (где пользователь вводит возраст, вес, чтобы определить, сколько он должен пить ежедневно).Это первый экран, который пользователи видят при загрузке приложения.
В моих приложениях есть состояние, такое как пьяный, цель и т. д. Каждый день я устанавливаю пьяное значение равным нулю, чтобы пользователи могли начинать все сначала.
Что я сделал, так это то, что создал новое состояние с именем object и установил для него пустой объект.И я смог обновить состояние истории, как показано ниже, с помощью функции обработчика состояний.
handleHistory = () => {
let currentDateString = moment().format('DDMMYYYY');
this.setState(
{
history: {
...this.state.history,
date: currentDateString,
drunk: this.state.drunk,
goal: this.state.goal,
progress: this.state.progress,
},
});
};
//this is what I get
Object {
"date": "20052019",
"drunk": 136,
"goal": 82,
"progress": 1.6585365853658536,
}
Мне нужен вложенный объект с датами с ключами в качестве даты
history: {
"20052019": {
"date": "20052019",
"drunk": 136,
"goal": 82,
"progress": 1.6585365853658536,
},
"21052019": {
"date": "21052019",
"drunk": 82,
"goal": 82,
"progress": 1.0,
}
}