Ich versuche, die React-Table-Bibliothek zu verwenden, stoße jedoch auf dieses Problem und weiß nicht, wie ich es beheben kann.
Ungefangener Fehler: Maximale Aktualisierungstiefe überschritten. Dies kann passieren, wenn eine Komponente setState wiederholt in „componentWillUpdate“ oder „componentDidUpdate“ aufruft. React begrenzt die Anzahl verschachtelter Updates, um Endlosschleifen zu verhindern.
export const GetProducts=async()=>{ try { const response=await axios({ url:`${baseUrl}/products`, method:"GET" }) // console.log(response.data.products) return await response.data.products } catch (error) { console.log(error.response) } }
Ich versuche Folgendes:
const TablaStock = () => { const [data, setData] = useState([]); useEffect(() => { const getProducts = async () => { const response = await GetProducts(); setData(response.products); }; getProducts(); }, [data]); const columns =useMemo(() => [ { Header:"CODIGO", accessor: "codigo" }, { Header:"PRENDA", accessor: "prenda" }, { Header:"MARCA", accessor: "marca" }, { Header:"CATEGORIA", accessor: "categoria" }, { Header:"TALLE", accessor: "" }, { Header:"CLIENTE", accessor: "cliente" }, { Header:"FECHA DE INGRESO", accessor: "fechaIngreso" }, { Header:"PRECIO DE VENTA", accessor: "precioVenta" }, { Header:"GANANCIA CLIENTE", accessor: "" }, { Header:"GANCANIA FERNANDEZ SHOP", accessor: "", Cell:({})}, { Header:"ESTADO", accessor: "estado" }, { Header:"TIEMPO EN VENTA", accessor: "tiempoEnVenta" }, ]); const table=useTable({ columns, data }) return ( <> </> ); }; export default TablaStock;
您使用Effect进入无限循环,因为您从服务器获取“数据”,但也通过该变量的cahnge重新渲染。 从 useEffect 的依赖列表中删除“data”:
希望对您有所帮助。
我通过添加以下代码解决了这个问题: