【发布时间】:2020-08-02 22:44:51
【问题描述】:
如果我想在第一次渲染组件后调用 API,我知道我们有 useEffect 挂钩来调用 API 方法。 (我说的只是功能组件。没有类组件)。
有什么办法,我可以在我的组件第一次渲染之前调用 API。
这个问题的原因是,如果某些 UI 部分依赖于 API,我也不想在第一次渲染时向用户显示任何不完整的信息,一旦我从 API 获取数据就会改变。 这似乎是一个糟糕的 UI 体验。
编辑:我得到了一些建议来使用 useLayoutEffect 或任何消耗性标志来检查它是否被渲染。我检查了 useLayoutEffect 不起作用,并且通过使用 consumable 标志,我们只会增加复杂性。
我们有什么更好的办法吗?
【问题讨论】:
-
由于渲染前后相差几毫秒,那么您认为渲染前对渲染后有何影响?在这两种情况下,你都必须渲染一些东西(比如加载)。
标签: javascript reactjs react-hooks react-functional-component react-lifecycle