反应本机firebase +iOS +异常'不能使用queryEndingAtValue:

Posted

技术标签:

【中文标题】反应本机firebase +iOS +异常\'不能使用queryEndingAtValue:【英文标题】:React native firebase +iOS+ Exception 'Can't use queryEndingAtValue:反应本机firebase +iOS +异常'不能使用queryEndingAtValue: 【发布时间】:2019-07-05 12:54:40 【问题描述】:

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】:

我已经解决了。在.endAt(oldest_message) 这里oldest_message 正在接收null。我在执行及其工作之前检查了 null 。

【讨论】:

以上是关于反应本机firebase +iOS +异常'不能使用queryEndingAtValue:的主要内容,如果未能解决你的问题,请参考以下文章

如何使 iOS UIPicker 与多个列和标题做出本机反应?

用于反应本机应用程序的 PHAsset 图像 URI

反应本机选择器未在android上显示

部署由React-Native开发的android和IOS应用程序

ios:将数据发布到 Firestore 时出现问题

在使用 React Native 的 IOS 运行时出现“未处理的 JS 异常:本机模块不能为空”错误