Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.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 当运行一次is useEffect()时,组件不会渲染_Javascript_Reactjs_React Hooks_React Google Charts - Fatal编程技术网

Javascript 当运行一次is useEffect()时,组件不会渲染

Javascript 当运行一次is useEffect()时,组件不会渲染,javascript,reactjs,react-hooks,react-google-charts,Javascript,Reactjs,React Hooks,React Google Charts,所以我有下面的代码,在这里我获取要在我的组件中呈现的数据。但是,如果useEffect设置为只运行一次,它将不会呈现组件内部的数据,并且让它持续运行是不可持续的 import React,{useState,useffect}来自“React”; 从“反应谷歌图表”导入图表; const Bottom5=({company})=>{ const[quick,setquick]=useState(“”); const[dataPoints,setDatapoints]=useState([]);

所以我有下面的代码,在这里我获取要在我的组件中呈现的数据。但是,如果useEffect设置为只运行一次,它将不会呈现组件内部的数据,并且让它持续运行是不可持续的

import React,{useState,useffect}来自“React”;
从“反应谷歌图表”导入图表;
const Bottom5=({company})=>{
const[quick,setquick]=useState(“”);
const[dataPoints,setDatapoints]=useState([]);
useffect(()=>{
var resultData=[];
取回(`http://localhost:3001/company/dashboard/bottom5/${company}`)
.然后(功能(响应){
返回response.json();
})
.then(功能(数据){
对于(变量i=0;i
)
}

出口违约5使用挂钩更新数组时出现问题

setDatapoints(resultData) // reference is same - not updating
setDatapoints([...resultData]) // do this << --

setDatapoints(resultData)//引用相同-不更新

setDatapoints([…resultData])//是否这样做可能是因为当您第一次装载组件时,您没有向其传递
公司

通常,由于代码取决于
公司
的值,因此最好将
公司
添加到
使用效果
依赖项列表中

useffect(()=>{
var resultData=[];
if(公司){
取回(`http://localhost:3001/company/dashboard/bottom5/${company}`)
.然后(功能(响应){
返回response.json();
})
.then(功能(数据){
对于(变量i=0;i

这样,只有在更改
公司
属性时才会调用它。

它不一样。状态变量为
dataPoints
resultData