【发布时间】:2021-09-23 17:27:45
【问题描述】:
我正在开发一个 Stencil JS 项目,该项目通过一些网络调用来获取数据和更新状态。
在 React JS 中,网络调用将在 componentDidMount 生命周期方法中完成,而不是在 componentWillMount 方法中。
我很惊讶在 Stencil 文档中发现几乎相反的建议:
componentWillLoad() 在组件第一次连接到 DOM 后调用一次。由于这个方法只被调用一次,它是一个 异步加载数据的好地方。
在另一种情况下,Stencil 也偏爱 componentWillLoad 而不是 componentDidLoad。使用 componentDidLoad 更新状态时,它会注销控制台警告:
STENCIL:状态/道具“exampleProp”在“componentDidLoad()”期间发生了变化,这会触发额外的重新渲染,尝试设置 "componentWillLoad()"
为什么 Stencil 将用户推送到 componentWillLoad 方法(渲染前),而 React 将用户推送到 componentDidMount 方法(渲染后)?
【问题讨论】:
标签: javascript reactjs stenciljs