React native firebase + iOS +异常'无法使用queryEndingAtValue:

时间:2019-07-05 12:54:40

标签: ios firebase react-native-android

我得到异常'在iOS中执行以下代码时无法使用queryEndingAtValue:。而相同的代码在android中工作

const messagesRef = firebase
  .database()
  .ref()
  .child('messages');
let activeChatListener;
function fetchChatMessages(dispatch, chat_code, page, user_data, oldest_message) {
  currMessagesRef = messagesRef.child(chat_code);
  if (page == 1) {
    activeChatListener = currMessagesRef.orderByKey().limitToLast(1);
    dispatch(clearMessages());
    activeChatListener.on('child_added', data => {
      fetchUserData(dispatch, data.val().user, user_data);
      dispatch(appendMessage(createFirebaseMessage(data)));
    });
  } else if (page >= 2) {
    let old_messages = [];
    currMessagesRef
      .orderByKey()
      .endAt(oldest_message)
      .limitToLast(CHAT_PER_PAGE)
      .once('value', snapshot => {
        let old_messages = [];
        snapshot.forEach(function(data) {
          old_messages.unshift(createFirebaseMessage(data));
        });
        dispatch(prependMessages(old_messages.slice(1, old_messages.length)));
      });
  }

1 个答案:

答案 0 :(得分:0)

我已修复它。在.endAt(oldest_message)中,oldest_message接收到null。我在执行及其工作之前已检查null。