React native 如何确定React Native Gifted Chat中的消息呈现顺序?

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

我想知道如何确定消息呈现顺序

起初我以为它会使用createdAt Date对象来确定渲染,但事实并非如此

(如您所见,它不会根据日期(2019年第一次、2018年、2017年、2016年和2019年再次)进行渲染)

我想知道如何修改顺序以首先显示最新消息。 我的初始消息数组如下所示:

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)

你找到这个问题的解决办法了吗?