【发布时间】:2020-12-23 09:49:06
【问题描述】:
我正在编写一个代码,其中有一个空数组,必须在某个请求返回后填充。
我试过setState这样的数组:
const [recentTransactionContacts,setRecentTransactionContacts] = useState<object[]>([])
///// more code
Contacts.getAll((err, contacts) => {
if(err) throw err
if(contacts.length > 0)
setRecentTransactionContacts(prevState => ({...prevState.recentTransactionContacts, ...contacts}));
else
ToastAndroid.show(`There no contacts on your phone. Can't transfer`, ToastAndroid.SHORT)
})
现在,在尝试以这种方式执行setState 之后,我看不到联系人数组有任何变化。
我可以更新状态的唯一方法是:
setRecentTransactionContacts(contacts)
但是,我认为后者不是正确的方式。
更新数组状态的正确方法是什么?
【问题讨论】:
-
setRecentTransactionContacts([... recentTransactionContacts ,...contacts])怎么样?
标签: reactjs react-native setstate