Skip to content

Instantly share code, notes, and snippets.

@bookercodes
Last active July 11, 2019 16:26
Show Gist options
  • Save bookercodes/f1006cb02a1368360b310ed97fe03a3c to your computer and use it in GitHub Desktop.
Save bookercodes/f1006cb02a1368360b310ed97fe03a3c to your computer and use it in GitHub Desktop.
class Chat extends Component {
constructor() {
this.state = {
messages: []
}
}
async onComponentDidMount() {
await CometChat.init(process.env.appId)
this.user = await CometChat.login("bendewberry")
CometChat.addMessageListener(
"#General",
new CometChat.MessageListener({
onTextMessageReceived: message => {
this.setState({
messages: [...this.state.messages, message]
})
}
}))
}
sendMessage(messageText) {
const message = new CometChat.TextMessage(
"#General",
messageText,
CometChat.MESSAGE_TYPE.TEXT,
CometChat.RECEIVER_TYPE.GROUP)
await CometChat.sendMessage(message)
}
render() {
return (
<React.Fragment>
<Messages messages = { this.state.messages } />
<MessageInput onSend = { this.sendMessage } />
</ React.Fragment>
)
}
}
ReactDOM.render(<Chat />, document.getElementById('root'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment