react setstate后获取值得问题

图片描述

图片描述

如图,输出了两次state的值(不明白为什么),但只需要后面一个,render里面不能直接取setstate后的值吗?

阅读 4.2k
4 个回答

弄清楚React的生命周期之后就清楚了。
第一次初始化的时候render执行了一次。然后setState又执行了一次。

clipboard.png

因为 didmount 是最后执行的(生命周期的最后一个), 之前执行过一遍 render

等获取到数据后又 setState 又会 render 一次 所以就变两次了

因为插入组件的时候render了一次 拿到数据又会render一次 如果只想渲染一次的话render的返回值外面包个div 然后

shouldComponentUpdate(nextProps, nextState) {
  return Boolean(this.state.data);
}

初次 render 和重新 render 。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题