我基本上试着用City值来设置状态,但是当我设置你的状态和控制台日志时,状态总是空的。我甚至在这条路上记录了控制台。
示例城市对象来自first console.log:{_id:'625a495ae4bea1099502f824',城市:'Dakhla‘国家:’埃及‘}
import React from "react";
import { useState } from "react";
export default function Cities() {
const [singlecity, setSingleCity] = useState('');
function GetSingleCity() {
console.log(city)
setSingleCity(city.City);
console.log(singlecity);
}发布于 2022-04-19 05:20:35
function中的setState函数是异步的,因此如果您在set状态之后立即看到console.log,则不会立即看到更新的值。但是,如果您试图呈现状态,您将看到呈现的html将被更新。如果要console.log singleCity的最新值,可以将console.log移到GetSingleCity之外,因此console.log将在每次重新呈现时运行,或者将console.log放在useEffect中。
useEffect(() => {console.log(singleCity)}, [singleCity])useEffect将在状态singleCity每次更改时运行回调,因此您将看到更新后的值。
https://stackoverflow.com/questions/71919772
复制相似问题