天才聊天中的 _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 绑定。
这里我试图理解 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 绑定。