Javascript 当运行一次is useEffect()时,组件不会渲染
所以我有下面的代码,在这里我获取要在我的组件中呈现的数据。但是,如果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([]);
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