首页 > 解决方案 > 如何在 back4app 解析服务器中使用两个 useParseQuery 挂钩来实现一对一聊天应用

问题描述

我正在尝试在 back4app 服务器上实现一对一的聊天,我没有找到任何博客,所以我的直觉是这样。我在数据库中创建了一个类,其中包含从、到和消息的列。我试图取回消息。为此我使用 useParseQuery 钩子。我如何使用这个钩子两次,这样我就可以同时获得“来自”和“到”的消息。

const App = () => {
const parseQuery1 = new Parse.Query('Chat_message');
parseQuery1.equalTo('from','amit');

const parseQuery2 = new Parse.Query('Chat_message');
parseQuery2.equalTo('to','amit');


const {
isLive,
isLoading,
isSyncing,
results,
count,
error,
reload
} = useParseQuery(parseQuery2);

console.log(results)
if (isLoading) {
return <ActivityIndicator />;
 }
 return (

  <FlatList
    data={results}
    
    renderItem={({ item }) => (
      <View
        style={{
          height: 70,
          flex: 1,
          alignItems: 'center',
          justifyContent: 'center',
        }}>
        <Text>message: {item.get('messages')}</Text>
      </View>
    )}
  />
  );
 };

我不知道我的这种方法是否正确,有人可以启发或提供一些博客文章进行一对一聊天。谢谢堆栈溢出的好人。

标签: parse-platformchatback4app

解决方案


我使用了 composeQuery。我曾尝试使用“和”,但最终尝试使用“或”并不起作用。

const parseQuery1 = new Parse.Query('Chat_message');
parseQuery1.equalTo('from','amit');

const parseQuery2 = new Parse.Query('Chat_message');
parseQuery2.equalTo('to','amit');

const composeQuery=Parse.Query.or(parseQuery2,parseQuery1)

推荐阅读