Chat.js 678 B

123456789101112131415161718192021222324252627282930313233343536
  1. import React, { Component } from 'react';
  2. import { Text, ListView } from 'react-native';
  3. class Chat extends Component {
  4. componentWillMount() {
  5. this.createDataSource(this.props);
  6. }
  7. componentWillReceiveProps(nextProps) {
  8. this.createDataSource(nextProps);
  9. }
  10. createDataSource({messages}){
  11. const ds = new ListView.DataSource({
  12. rowHasChanged: (r1,r2) => r1 !== r2
  13. });
  14. this.dataSource = ds.cloneWithRows(messages);
  15. }
  16. renderRow({time,user,text}) {
  17. return <Text>[{time}] {user}: {text}</Text>;
  18. }
  19. render() {
  20. return (
  21. <ListView
  22. enableEmptySections
  23. dataSource={this.dataSource}
  24. renderRow={this.renderRow} />
  25. );
  26. }
  27. };
  28. export default Chat;