Javascript 如何在渲染前获取数据
所以我有一个自定义钩子,它从数据库返回一个对象数组,在它获取数据之前,返回值的值是未定义的<代码>getDataByID(100).doc?.items-这将以数组形式从数据库返回项目。如何确保返回的值不是未定义的,然后将组件装入功能组件中?尝试在父组件中获取此数据,当收到数据时,仅将所需组件装入子组件,并将这些数据作为道具传递Javascript 如何在渲染前获取数据,javascript,reactjs,promise,Javascript,Reactjs,Promise,所以我有一个自定义钩子,它从数据库返回一个对象数组,在它获取数据之前,返回值的值是未定义的getDataByID(100).doc?.items-这将以数组形式从数据库返回项目。如何确保返回的值不是未定义的,然后将组件装入功能组件中?尝试在父组件中获取此数据,当收到数据时,仅将所需组件装入子组件,并将这些数据作为道具传递 { (dataFromAPI!==未定义)?:未定义 } 这样,当您拥有API的数据时,将只安装您的子组件。Mujibur Rehman Ansari的答案可以进一步修改为
{
(dataFromAPI!==未定义)?:未定义
}
这样,当您拥有API的
数据时,将只安装您的子组件。Mujibur Rehman Ansari的答案可以进一步修改为
{ dataFromAPI && <ChildComponent data={dataFromAPI} /> }
{dataFromAPI&&}
就用户体验而言,您不应该延迟组件的装载/呈现,直到数据获取等异步工作完成。因为如果它很慢,他们在加载的时候几乎什么也看不到。最好的方法是使用消息或微调器等处理加载状态,然后在获取数据后使用数据重新渲染。这是一个条件渲染的示例。可以找到更多信息