首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用对象内的值设置状态

使用对象内的值设置状态
EN

Stack Overflow用户
提问于 2022-04-19 04:42:07
回答 1查看 13关注 0票数 0

我基本上试着用City值来设置状态,但是当我设置你的状态和控制台日志时,状态总是空的。我甚至在这条路上记录了控制台。

示例城市对象来自first console.log:{_id:'625a495ae4bea1099502f824',城市:'Dakhla‘国家:’埃及‘}

代码语言:javascript
复制
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);
  }
EN

回答 1

Stack Overflow用户

发布于 2022-04-19 05:20:35

function中的setState函数是异步的,因此如果您在set状态之后立即看到console.log,则不会立即看到更新的值。但是,如果您试图呈现状态,您将看到呈现的html将被更新。如果要console.log singleCity的最新值,可以将console.log移到GetSingleCity之外,因此console.log将在每次重新呈现时运行,或者将console.log放在useEffect中。

代码语言:javascript
复制
useEffect(() => {console.log(singleCity)}, [singleCity])

useEffect将在状态singleCity每次更改时运行回调,因此您将看到更新后的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71919772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档