gpt4 book ai didi

react-native-gifted-chat - react native giftedchat 无法编辑消息文本

转载 作者:行者123 更新时间:2023-12-05 05:39:08 24 4
gpt4 key购买 nike

我想编辑一条消息,但它只有在我更改这条消息 _id 时才会更新。有人可以告诉我怎么做吗,这是我的代码:

const onSend = useCallback((messagesToSend = []) => {
if(editMessage != null){
setEditMessage()
const m = messagesToSend[0]
const newMessages = [...messages]
const index = newMessages.findIndex(mes => mes._id === editMessage._id);
console.log('index: ', index)
if(index > -1){
newMessages[index].text = m.text // => ***i only edit the text***
// newMessages[index]._id = uuid.v4() => ***this working if changed _id***
console.log('newMessages', newMessages[index]) // => ***new message changed it's text but the bubble not change when re-render***
LayoutAnimation.configureNext(LayoutAnimation.Presets.easeInEaseOut)
setMessage(newMessages)
}
}else{
setReplyMessage()
appendMessage(messagesToSend)
}
})

最佳答案

看起来您正在使用没有依赖项数组的 useCallback。这意味着您所依赖的任何依赖项都将被记住,并且在您运行该函数时不会更新。

您应该将messageseditMessage,也许还有setMessageappendMessage 添加到依赖项数组。像这样:

const onSend = useCallback(
(messageToSend = []) => etc,
[messages, editMessage, setMessage, appendMessage]);

这是我要尝试的第一件事

关于react-native-gifted-chat - react native giftedchat 无法编辑消息文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72769972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com