javascript - react中使用fetch获取数据渲染有问题

查看:148
本文介绍了javascript - react中使用fetch获取数据渲染有问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

在showConfirm()函数中删除目录成功后,通过then调用一次getCatalog()函数,第一次删除目录返回true后,页面渲染没有变化。第二次删除成功后,页面上第一次删除的会消失。就是说会返回前一次的状态。有时候又可以删除即消失。

解决方案

showConfirm() 函数中删除目录成功后(?),通过 then 调用一次 getCatalog() 函数。

.then(() => that.props.cbgetCatalog())
       ^
       |
       |
      函数

或者

.then(that.props.cbgetCatalog)
                             ^
                             |
                             |
                           后面无括号

这才达到你的效果。.then 要传递一个函数,而不是调用函数之后的返回值。

按照你的写法,当发送请求的时候,就已经调用了 that.props.cbgetCatalog 函数,此时的分类还没有删除。

这是 Promise 的一个坑,切记 .then 里面一定要传递函数

这篇关于javascript - react中使用fetch获取数据渲染有问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆