天才聊天中的 _id 是什么?

What is _id in gifted chat?

这里我试图理解 https://www.npmjs.com/package/react-native-gifted-chat 这个 link 中可用的代码。但在这里我无法理解为什么他们使用 2 _id's (messages:[{_id:1, //代码 用户:{ _id:2, //代码 }]) 在 setState 函数中,他们在 render() 方法中写入 1 id (_id: 1) 。以及 setState 函数中传递的 id 1 和 2 与 render() 方法中给出的 id 之间的区别是什么。

下面是代码片段:

从 'react' 导入 React 从 'react-native-gifted-chat'

导入 { GiftedChat }
class Example extends React.Component {
  state = {
    messages: [],
  }

  componentDidMount() {
    this.setState({
      messages: [
        {
          _id: 1,
          text: 'Hello developer',
          createdAt: new Date(),
          user: {
            _id: 2,
            name: 'React Native',
            avatar: 'https://placeimg.com/140/140/any',
          },
        },
      ],
    })
  }

  onSend(messages = []) {
    this.setState(previousState => ({
      messages: GiftedChat.append(previousState.messages, messages),
    }))
  }

  render() {
    return (
      <GiftedChat
        messages={this.state.messages}
        onSend={messages => this.onSend(messages)}
        user={{
          _id: 1,
        }}
      />
    )
  }
}

_id: 1是消息的id,_id: 2是写消息的用户的id,这样GiftedChat就可以绑定消息和who写了。

使用类似的逻辑,用户发送的每条消息都将与 render 函数中的 id 绑定。