Запоминание состояния хранения & amp; Вывод повторяющихся значений

Swift 3 сортируется (по: & lt;)

let dictionary = [
    "A" : [1, 2],
    "Z" : [3, 4],
    "D" : [5, 6]
]

let sortedKeys = Array(dictionary.keys).sorted(by:<) // ["A", "D", "Z"]
1
задан Treycos 15 January 2019 в 21:13
поделиться

1 ответ

Я сам не использовал firebase, но похоже, что приведенный ниже код настраивает слушателя для «квестовых» изменений, которые будут выполняться каждый раз, когда происходит изменение, но вы определили const quests = [] вне обработчика изменений db. Это означает, что при втором изменении вы поместите все снимки в тот же массив quests, в который, возможно, уже были добавлены предыдущие снимки. Я полагаю, что вы можете это исправить, переместив переменную quests внутри функции слушателя, как показано ниже.

componentDidMount() {
    const database = firebase.database();

    database.ref('quest').on('value', (snapshot) => {
        const quests = [];
        snapshot.forEach((childSnapshot) => {
            quests.push({
                id: childSnapshot.key,
                quest: childSnapshot.val().quest,
                points: childSnapshot.val().points,
            });
        });
        console.log(quests);
        this.setState(() => {
            return {
                quests: quests
            }
        });
        console.log(this.state.quests);
    });
}
0
ответ дан Ryan Cogswell 15 January 2019 в 21:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: