React native 如何确定React Native Gifted Chat中的消息呈现顺序?
我想知道如何确定消息呈现顺序 起初我以为它会使用createdAt Date对象来确定渲染,但事实并非如此 (如您所见,它不会根据日期(2019年第一次、2018年、2017年、2016年和2019年再次)进行渲染) 我想知道如何修改顺序以首先显示最新消息。 我的初始消息数组如下所示:React native 如何确定React Native Gifted Chat中的消息呈现顺序?,react-native,chat,react-native-gifted-chat,React Native,Chat,React Native Gifted Chat,我想知道如何确定消息呈现顺序 起初我以为它会使用createdAt Date对象来确定渲染,但事实并非如此 (如您所见,它不会根据日期(2019年第一次、2018年、2017年、2016年和2019年再次)进行渲染) 我想知道如何修改顺序以首先显示最新消息。 我的初始消息数组如下所示: const [messages, setMessages] = useState([ { _id: 'gdfsdfasdfasdfasdfas', text: 'Test Tes
const [messages, setMessages] = useState([
{
_id: 'gdfsdfasdfasdfasdfas',
text: 'Test Test 2',
createdAt: new Date(Date.UTC(2016, 5, 11, 17, 20, 1)),
user: {
_id: 2,
name: 'React Native',
avatar: 'https://placeimg.com/140/140/any',
},
},
{
_id: 'aereraesaresraesraes',
text: 'Test Test',
createdAt: new Date(Date.UTC(2017, 5, 11, 17, 20, 1)),
user: {
_id: 2,
name: 'React Native',
avatar: 'https://placeimg.com/140/140/any',
},
},
{
_id: 'dasfadsfdfasfadasdasd',
text: 'What\'s up ;)',
createdAt: new Date(Date.UTC(2018, 5, 11, 17, 20, 1)),
user: {
_id: 2,
name: 'React Native',
avatar: 'https://placeimg.com/140/140/any',
},
},
{
_id: 'dasdasfdasfdasf',
text: 'Hello developer',
createdAt: new Date(Date.UTC(2019, 5, 11, 17, 20, 1)),
user: {
_id: 'ewrqqewrewrqrqewrewq',
name: 'React Native',
avatar: 'https://placeimg.com/140/140/any',
},
},
]);
这个问题对我来说也是一个真正的痛苦。我终于让它工作了。因为你已经有了
createdAt
新的JS日期格式,你只需要对数组进行排序。react native gifted chat
默认情况下不会这样做。所以在设置状态之前,请使用下面的排序方法以适当的结构呈现chat
data.sort((a, b) => b.createdAt - a.createdAt)
你找到这个问题的解决办法了吗?