我有一个如下所示的useEffect函数。
useEffect(() => {
getColls()
console.log(pageColl)
}, [])
getColls()函数设置pageColl变量。
//getColls()
const getColls = () => {
Service.getCollections()
.then(data =>
setPageColl(data.collections.find(coll => coll._id === userId))
)
}
//states
const [pageColl, setPageColl] = useState(null);
应该将pageColl设置为一个对象,但是由于某些原因,当我尝试console.log(pageColl)时,返回的是null。好像从未调用过setPageColl。我知道数据是在getColls中返回的,因为可以在其中进行控制台。将其记录在其中。
答案 0 :(得分:0)
在调用getColls()方法之后,您无法立即检查“ pageColl”状态,因为api调用是异步的。
let input = "some sample string".to_string();
let mut threads = vec![];
for chunk in input.chars().collect::<Vec<char>>().chunks(2) {
let mut owned_array = ['\0'; 2];
owned_array.copy_from_slice(chunk);
threads.push(thread::spawn({
move || -> () {
println!("{:?}", owned_array);
}
}))
}
您可以像上面一样检查