我仍然不确定如何让它工作。我想在博览会上写一个小型聊天应用程序。现在我正在使用一个按钮,当点击它时,应该将一条消息附加到一个有天赋的聊天中。我有两个未连接的组件。一个叫做 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,但我不确定这是否可行。