В настоящее время я работаю над приложением react-native
с функцией чата.Я использую redux
для хранения своих состояний.Поэтому после нажатия кнопки отправки для отправки сообщения вызывается действие, чтобы отправить сообщение в firebase и впоследствии отобразить его на экране.
Моя текущая проблема заключается в том, что в то время как вызванное мною действие отправляет правильный тип/ payload, также отправляется другой тип / payload, который не отправляется в вызываемом действии.По-видимому, каким-то образом вызывается другое действие, содержащее тип / полезную нагрузку.
Код действия, которое не вызывается, выглядит следующим образом:
const getChatData = (chatIDs, userName, uid) => async dispatch => {
console.log('hasdhkhwerljlkbgkanndhadndngknnjnjsnfjskdnfjsuvhshdifhuishiduhfuishdkfnkjsndf')
const chatData = []
for (const key of chatIDs) {
[...]
// get message
firebase.database().ref('messages/' + key)
.orderByChild('timestamp').limitToLast(1)
.on('child_added', snapshot => {
const { text, timestamp, user } = snapshot.val();
const { name } = user;
chatData.push({ key, members: displayNameArray, text, timestamp, name })
dispatch({
type: GET_CHAT_DATA,
payload: chatData
})
})
})
}
}
Как я уже говорил, тип GET_CHAT_DATA
отправляется, хотя это действие не вызывается.Кроме того, console.log не показывает длинное тестовое сообщение, которое должно означать, что это действие не вызывается, верно?
Что может вызвать это странное поведение?
Спасибомного!