javascript - React 中的 ComponentDidMount 和渲染关系
问题描述
我读过 componentDidMount 在 React 组件中渲染后运行,但我还是有点困惑。假设我在 componentDidMount 中向 API 发出请求以填充我的状态,但如果渲染在 componentDidMount 之前运行,我的应用程序如何向用户显示信息?React 组件是否在执行类似 render() -> componentDidMount() -> render() 的操作?如果是这样,在 componentDidMount() 之前运行 render() 有什么好处?
解决方案
当您更新其状态或道具更改时,组件会重新呈现。因此,如果您在 componentDidMount() 中更新其状态,则组件会重新渲染。
正如其名称所示,ComponentDidMount 的存在是为了让您知道您的组件已安装。因此,例如,如果您需要从 jsx 中获取某物的高度,您可以在此处执行,您不会收到错误提示您的引用未定义,因为您的组件已安装并且节点存在。
推荐阅读
- python - pandas 中的一个新列,它依赖于其他行的值
- javascript - 在 IIS 中运行的 Blazor 服务器端应用程序中获取远程 IP 地址不起作用?
- excel - 我的 VBA Selection.SpecialCells(xlCellTypeConstants, 1) cell.Value = cell.Text 出错
- python - 如何在子 pyrebase 中附加新条目
- javascript - Get Download Url of Image 提供可下载的 url 但不可查看的 url
- python - Python:对于给定的连接,找到具有特定起始索引的分支
- node.js - 如何查看已编译 CSS 的更改并更新原始 SCSS?
- python - 使用 python matplotlib 时缺少 xticks
- go - Go 不发送 HTTP 请求,但 curl 发送
- sql - 如何有效地在sql中合并