mirror of
https://github.com/zhigang1992/react-native-gifted-chat.git
synced 2026-05-23 00:03:31 +08:00
ad7ac63697a79da78e2441a224d2b9710d7ea0de
Gifted Chat
The most complete chat UI for React Native (formerly known as Gifted Messenger)
Installation
npm install react-native-gifted-chat --save
Android installation
- Add
windowSoftInputModein your Android Manifestandroid/app/src/main/AndroidManifest.xml
<!-- ... -->
android:label="@string/app_name"
android:windowSoftInputMode="adjustResize" // <!-- add this -->
android:configChanges="keyboard|keyboardHidden|orientation|screenSize">
<!-- ... -->
Minimal example
import React, { Component } from 'react';
import { GiftedChat } from 'react-native-gifted-chat';
class Example extends Component {
constructor(props) {
super(props);
this.state = {messages: []};
this.onSend = this.onSend.bind(this);
}
componentWillMount() {
this.setState({
messages: [
{
_id: 1,
text: 'Hello developer',
createdAt: new Date(Date.UTC(2016, 5, 11, 17, 10, 0)),
user: {
_id: 2,
name: 'React Native',
avatar: 'https://facebook.github.io/react/img/logo_og.png',
},
},
],
});
}
onSend(messages = []) {
this.setState((previousState) => {
return {
messages: GiftedChat.append(previousState.messages, messages),
};
});
}
render() {
return (
<GiftedChat
messages={this.state.messages}
onSend={this.onSend}
user={{
_id: 1,
}}
/>
);
}
}
Advanced example
See example project
Props documentation
- Work in progress
LICENSE
Feel free to ask me questions on Twitter @FaridSafi !
Languages
JavaScript
88.9%
Objective-C
6.1%
Starlark
2.5%
Java
2.1%
Shell
0.4%