Что такое _id в одаренном чате? - PullRequest
0 голосов
/ 06 марта 2020

Здесь я пытаюсь понять код, доступный в https://www.npmjs.com/package/react-native-gifted-chat по этой ссылке. Но здесь я не могу понять, почему они используют 2 _id (сообщения: [{_ id: 1, // code user: {_id: 2, // code}]) в функции setState, и они пишут 1 id (_id: 1 ) в методе render (). А также в чем разница между идентификаторами 1 и 2, передаваемыми в функции setState, и идентификаторами, указанными в методе render ().

Здесь приведен фрагмент кода ниже:

import React из'act 'import {GiftedChat} из'act-native-gifted-chat '

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,
        }}
      />
    )
  }
}

1 Ответ

0 голосов
/ 06 марта 2020

_id: 1 - это идентификатор сообщения, а _id: 2 - это идентификатор пользователя, написавшего сообщение. Таким образом, GiftedChat сможет связать сообщение с тем, кто его написал.

С подобными логиками c каждое отправленное пользователем сообщение будет связано с идентификатором в функции рендеринга.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...