您当前的位置: 首页 >  react native

ITKEY_

暂无认证

  • 1浏览

    0关注

    732博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

React Native 实现聊天界面开发2020

ITKEY_ 发布时间:2020-11-30 16:03:54 ,浏览量:1

知识点
  • 如何使用react-native-gifted-chat组件
  • 参考微信的配色和风格
效果

在这里插入图片描述

代码
/* eslint-disable prettier/prettier */
import React, { useState, useCallback, useEffect } from 'react';
import { GiftedChat,Bubble,Send } from 'react-native-gifted-chat';
// 引入中文语言包
import 'dayjs/locale/zh-cn';
import {View,Text,StyleSheet,SafeAreaView} from 'react-native';

export default function ChatRoomScreen() {
    const [messages, setMessages] = useState([]);
    useEffect(() => {
        setMessages([
            {
                _id: 1,
                text: '码农先生,开始聊天吧!',
                createdAt: new Date(),
                user: {
                    _id: 2,
                    name: 'React Native',
                    avatar: 'https://placeimg.com/140/140/any',
                },
            },
        ])
    }, []);
    const onSend = useCallback((msg = []) => {
        setMessages(previousMessages => GiftedChat.append(previousMessages, msg))
    }, []);

    const renderBubble = (props) => {
        return (
            
        );
    };

    const renderSend = (props) => {
        return (
            
                
                    发送
                
            
        );
    };

    return (
        
         onSend(messages)}
            showUserAvatar={true}
            locale={'zh-cn'}
            showAvatarForEveryMessage={true}
            renderBubble={renderBubble}
            placeholder={'开始聊天吧'}
            renderSend={renderSend}
            inverted={true}
            renderUsernameOnMessage={true}
            user={{
                _id: 50,
                name: '阳光',
                avatar: 'https://placeimg.com/140/140/any',
            }}
            alignTop={true}
        />
        
    )
}
const styles = StyleSheet.create({
    mainContent: {
        flex: 1,
        backgroundColor: '#ededed',
    },
    sendBtn: {
        width: 63,
        height: 32,
        borderRadius: 3,
        backgroundColor:'#07c160',
        justifyContent: 'center',
        alignItems: 'center',
        marginBottom:5,
        marginRight:5,
    }
});

GITHUB

https://github.com/FaridSafi/react-native-gifted-chat

关注
打赏
1665243900
查看更多评论
立即登录/注册

微信扫码登录

0.0604s