Reactjs 如何在react native messaging应用程序中的群聊消息中显示发件人姓名,并且在他发送下一条消息时不显示其姓名?
我在react native中有一个消息应用程序,它包含组消息。现在,我想在特定邮件上显示发件人的姓名。我已经在邮件上显示了发件人的姓名。但我想做的是,当他在一行中有多条消息时,只在第一条消息上显示他的名字 这是屏幕截图 看,在第一张图片中,所有信息上都显示有名字 现在想这样做,所以只在第一条消息中显示他的名字 在我过去常画的平面图中,名字是这样的Reactjs 如何在react native messaging应用程序中的群聊消息中显示发件人姓名,并且在他发送下一条消息时不显示其姓名?,reactjs,react-native,react-native-android,react-native-ios,Reactjs,React Native,React Native Android,React Native Ios,我在react native中有一个消息应用程序,它包含组消息。现在,我想在特定邮件上显示发件人的姓名。我已经在邮件上显示了发件人的姓名。但我想做的是,当他在一行中有多条消息时,只在第一条消息上显示他的名字 这是屏幕截图 看,在第一张图片中,所有信息上都显示有名字 现在想这样做,所以只在第一条消息中显示他的名字 在我过去常画的平面图中,名字是这样的 `<Text numberOfLines={1} style={{ flexD
`<Text numberOfLines={1} style={{
flexDirection: 'row',alignItems:'center',textAlignVertical:'center',
flexWrap: 'wrap', color: 'rgb(44,88,157)', fontWeight: '600',
paddingLeft: 0,
justifyContent: 'flex-start',
}}
>{item.sender_user_id.nick_name
}</Text>`
`{item.sender\u user\u id.nick\u name
}`
制作一个具有布尔属性的消息组件showName
renderMessage(showName = true, name, body) {
return <Message showName={showName} name={name} body={body}/>
}
在最后几条消息中显示姓名:
如果没有下一条消息,请显示名称
如果下一封邮件的发件人不同,请显示姓名
范例
制作一个具有布尔属性的消息组件showName
renderMessage(showName = true, name, body) {
return <Message showName={showName} name={name} body={body}/>
}
在最后几条消息中显示姓名:
如果没有下一条消息,请显示名称
如果下一封邮件的发件人不同,请显示姓名
范例
你能分享你已经尝试过的吗?你能分享你已经尝试过的吗。成功了。我所做的只是稍微更改了您的代码。第一条消息上会显示名称。但我想在最后一条消息中显示它。我修改了答案以包含这两种情况。非常感谢。不知道为什么,但我失去了我的洞天这个解决方案。再次感谢你,伙计。消息[i+1]。name最后返回未定义的,所以用if条件包装它==未定义,谢谢。成功了。我所做的只是稍微更改了您的代码。第一条消息上会显示名称。但我想在最后一条消息中显示它。我修改了答案以包含这两种情况。非常感谢。不知道为什么,但我失去了我的洞天这个解决方案。再次感谢你,伙计。消息[i+1]。name最后返回未定义的,所以用if条件包装它==未定义。
renderMessages(messages) {
const lastIndex = messages.length - 1;
messages.map((message, i) => {
let showName = false;
if(i === lastIndex) {
showName = true;
}
else {
const nextName = messages[i+1].name;
if(message.name !== nextName) {
showName = true;
}
}
renderMessage(showName, message.name, message.body)
});
}