美文网首页
关于react中setState后,没有立即获取到最新的stat

关于react中setState后,没有立即获取到最新的stat

作者: peroLuo | 来源:发表于2019-01-28 16:48 被阅读0次
searchRecomon (item) {
    this.setState({
      searchVal: item,
      searchCategoryId: 0,
      sortType: 1,
      priceSortStatus: 0
    })
    console.log(item)
    console.log(this.state.searchVal)
  }
 /*查询商品*/
  async searchGoods () {
    const {searchVal, sortType, page, size, priceSortStatus, searchCategoryId} = this.state
    const {data, filterCategory} = await http.getGoodsData({
      keyword: searchVal,
      page,
      size,
      sort: sortType === 1 ? 'id': 'price',
      order: priceSortStatus > 0 ? 'asc': priceSortStatus === 0 ? 'default' : 'desc',
      categoryId: searchCategoryId
    })
    this.setState({goodsList: data,searchKeyWordList: [], searchCategoryList: filterCategory})
    this.getInitData()
在searchGoods方法里面并没有直接获取到最新的searchVal的值。解决方法:
 searchRecomon (item) {
    this.setState({
      searchVal: item,
      searchCategoryId: 0,
      sortType: 1,
      priceSortStatus: 0
    }, () => {
      this.searchGoods()
    })
    console.log(item)
    console.log(this.state.searchVal)
  }
在setState值后,里面传个回调函数作为参数

2、理解setState

相关文章

网友评论

      本文标题:关于react中setState后,没有立即获取到最新的stat

      本文链接:https://www.haomeiwen.com/subject/jknajqtx.html