来自不同班级的资优聊天追加消息

时间:2019-09-25 08:09:43

标签: reactjs redux react-native-gifted-chat

我仍然不确定如何使它正常工作。 我想在博览会上写一个小型的聊天应用程序。 现在,我使用的是一个按钮,当单击该按钮时,应将一条消息添加到有才华的聊天中。 我有两个未连接的组件。一种叫做button.js,一种叫做chat.js。 它们都显示在App.js中。  我尝试在chat.js中编写辅助函数


    updateChatView(){
        //Debug only
        // console.log("TEST");
        this.setState(previousState => ({
              messages: GiftedChat.append(previousState.messages, {
                _id: "MSG ID",
                text: "TEXT YOU WANT TO SHOW",
                createdAt: new Date(),
                user: {
                  _id: "USER_ID",
                  name: "USER NAME",
                  avatar:"USER AVATAR URL",
                },
              }),
            }));

      }

我可以看到控制台输出TEST,但是无法设置状态,因为似乎未安装组件(chat.js)。 我使用此代码调用该函数。

import ChatView from './chatView';
const cv = new ChatView();

//Render function
  <View style={styles.container}>
        <Button title="Button" onPress={(e) => cv.updateChatView()} />
      </View>

我认为chat.js已安装,因为它已显示? 我不知道从哪里开始。 我坚决要用redux代替state,但是我不确定这是否行得通。

1 个答案:

答案 0 :(得分:0)

我最终只是使用redux而不是状态。 使用GiftedChat.append,您需要使用价差运算符,但随后它可以工作。 我仍然需要解决的一个问题是,每条消息的ID都相同。