react-native-gifted-chat - react-native-gifted-chat 视频消息未显示 - GiftedChat 未实现视频
问题描述
消息中未显示视频。收到消息“视频不是由 GiftedChat 实现的。您需要使用 renderMessageVideo 属性提供自己的实现。
Message[] has the following values:
_id:
text:
createdAt:
user:{
_id:
name:
avatar:
},
image:
video:
<GiftedChat
messages={this.state.messages}
onSend={this.onSend.bind(this)}
user={{
_id: this.state.LoggedinuserID,
}}
/>
解决方案
您需要提供自定义组件以将视频包装到其中
在您的情况下,您将消息直接呈现给 GiftedChat,因此我们会将自定义视频组件传递给 GiftedChat,如下所示
参考:https ://github.com/FaridSafi/react-native-gifted-chat/#react-native-video-and-expo-av
import { Video,Audio } from 'expo-av';
const renderMessageVideo = (props: any) => {
const { currentMessage } = props;
return (
<View style={{ padding: 20 }}>
<Video
resizeMode="contain"
useNativeControls
shouldPlay={false}
source={{ uri: currentMessage.video }}
style={styles.video}
/>
</View>
);
};
<GiftedChat
messages={this.state.messages}
onSend={this.onSend.bind(this)}
renderMessageVideo={renderMessageVideo}
user={{
_id: this.state.LoggedinuserID,
}}
/>
推荐阅读
- java - 将当前执行函数的参数动态传递给其他函数
- azure - 在门户中运行 Azure 功能时出现内部服务器错误
- ruby - Ruby 微服务 - 如何在生产中重新启动/重生
- c# - 实体框架 mvc 如何使用内部联接?
- c# - 为什么这个表达式接受 & 符号
- microsoft-graph-api - 尝试使用 Graph Explorer 找出每个用户的 Intune managedAppRegistrtaion
- javascript - Google 跟踪代码管理器 - 应为主要表达式
- php - 用于检索购物车总数的 Woocommerce 购物车模型
- javascript - 如何获取图像的宽度和高度?( SVG 的 getBBox() 大小返回 0 )
- java - 解析命令行并将其更改为 Char 或 Boolean