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

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 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。