gpt4 book ai didi

javascript - React UseState钩子(Hook),无法连接数组

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

尝试将两个数组添加在一起以使用react时,我遇到了一些奇怪的行为。
每个数组 block 的长度为 50 项。我的名单永远不会超过 50 个。
我已经尝试过使用扩展运算符和 concat 方法,有和没有包装函数。
没有任何作用

setWordList(wordList => wordList.concat(msg))
setWordList(wordList => [...wordList, msg])
setWordList([...wordList, msg])
setWordList(wordList.concat(msg))
  const [wordList, setWordList] = useState([])
const [isSearching, setIsSearching] = useState(true)



const loadMoreList = (data) => {
console.log(data)
setIsSearching(true)
let already = []
for(let i = 0; i < wordList.length; i++){
already.push({_id: wordList[i]._id})
}
console.log(already)
socket.current.emit('get word list more', {filter: data.filter, already: already});
}



socket.current.on('word list in', (msg) => {

setWordList(wordList => [...wordList, msg])

console.log(msg)
setIsSearching(false)

});

示例数据(数组长度 = 50)
[{
definition: "1. aufhören zu leben, sein Leben beschließen↵Beispiele↵“jung sterben”↵Wendungen, Redensarten, Sprichwörter↵“zum Sterben langweilig, müde, einsam o. Ä...."
id: "dfe03030-0c50-11ea-afa4-098be982e090"
leitner_no: 2
priority: true
priority_time: 1587986213134
reviews: 1
source: "manual"
source_details: "none"
time_stamp: 1583402873665
word: "sterben | starb, gestorben |"
_id: "fb99b7c3-34a4-4e63-a98e-41efbbcfe5fc"}]

当前列表和传入数据永远不会连接,新数据似乎已经替换了列表中的数据。 Console.logwordListsocket('word list in') 内无论是否有从前一个输入呈现的数据,都返回一个空列表。不知何故,该状态似乎没有持续存在。
任何帮助将不胜感激。

最佳答案

两个数组都需要展开,如下所示:

setWordList(wordList => [...wordList, ...msg])

关于javascript - React UseState钩子(Hook),无法连接数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62870896/

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