Ken428965 2022-11-14 12:56 采纳率: 53.4%
浏览 64
已结题

react,获取数据问题:第一次获取不到数据,第二次才能获取到数据?

在使用的react版本如下:

img


已写的部分代码:

useEffect(() => {
    async function fetchData() {
      const { label, value } = await getCurrentCity()
      setLabel(label)
      setValue(value)
    }
    fetchData()
      
    searchHouseList()
  },[])
  
  // 用来获取房屋列表数据
  const searchHouseList = () => {

    API.get('/houses', {
      params: {
        cityId: value,
        ...filters,
        start: 1,
        end: 20
      }
    }).then(res=>{
      console.log("value值:", value)
      console.log("filters值:", filters)
    const { list, count } = res.data.body

    setList(list)
    setCount(count)
    // 数据加载完成的状态
    setIsLoading(false)
    })
  }

首次进入本模块界面时打印出的结果是空值(获取到105959套房源):

img


点击“方式“,不选择任何一项,点击“确定”后的打印结果为(获取到1946套房源):

img


故障可总结为:第一次获取不到数据,第二次才能获取到数据
请问代码出了什么问题?如何修改?烦请展示代码进行举例说明,感谢~

  • 写回答

1条回答 默认 最新

  • 明先生啊。 2022-11-14 14:29
    关注

    useEffect(() => {
    async function fetchData() {
    const { label, value } = await getCurrentCity()
    setLabel(label)
    setValue(value)
    searchHouseList(value)
    }
    fetchData()

    },[])

    // 用来获取房屋列表数据
    const searchHouseList = (value) => {

    API.get('/houses', {
      params: {
        cityId: value,
        ...filters,
        start: 1,
        end: 20
      }
    }).then(res=>{
      console.log("value值:", value)
      console.log("filters值:", filters)
    const { list, count } = res.data.body
    
    setList(list)
    setCount(count)
    // 数据加载完成的状态
    setIsLoading(false)
    })
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月15日
  • 已采纳回答 11月15日
  • 修改了问题 11月15日
  • 创建了问题 11月14日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵