Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在渲染前获取数据_Javascript_Reactjs_Promise - Fatal编程技术网

Javascript 如何在渲染前获取数据

Javascript 如何在渲染前获取数据,javascript,reactjs,promise,Javascript,Reactjs,Promise,所以我有一个自定义钩子,它从数据库返回一个对象数组,在它获取数据之前,返回值的值是未定义的getDataByID(100).doc?.items-这将以数组形式从数据库返回项目。如何确保返回的值不是未定义的,然后将组件装入功能组件中?尝试在父组件中获取此数据,当收到数据时,仅将所需组件装入子组件,并将这些数据作为道具传递 { (dataFromAPI!==未定义)?:未定义 } 这样,当您拥有API的数据时,将只安装您的子组件。Mujibur Rehman Ansari的答案可以进一步修改为

所以我有一个自定义钩子,它从数据库返回一个对象数组,在它获取数据之前,返回值的值是未定义的<代码>getDataByID(100).doc?.items-这将以数组形式从数据库返回项目。如何确保返回的值不是未定义的,然后将组件装入功能组件中?

尝试在父组件中获取此数据,当收到数据时,仅将所需组件装入子组件,并将这些数据作为道具传递

{
(dataFromAPI!==未定义)?:未定义
}

这样,当您拥有API的
数据时,将只安装您的子组件。

Mujibur Rehman Ansari的答案可以进一步修改为

{ dataFromAPI && <ChildComponent data={dataFromAPI} /> }
{dataFromAPI&&}

就用户体验而言,您不应该延迟组件的装载/呈现,直到数据获取等异步工作完成。因为如果它很慢,他们在加载的时候几乎什么也看不到。最好的方法是使用消息或微调器等处理加载状态,然后在获取数据后使用数据重新渲染。这是一个条件渲染的示例。可以找到更多信息