【发布时间】:2021-12-08 03:05:49
【问题描述】:
我一直在尝试所有方法,但 ag-grid 和 react 没有呈现。它存在于元素中,但没有显示任何内容。
请参阅下面的代码,它是文档的精确副本,删除了不必要的代码。无法获得两个示例之间的差异。
https://www.ag-grid.com/react-data-grid/reactui/
use strict';
import React, { useMemo, useEffect, useState } from 'react';
import { render } from 'react-dom';
import { AgGridReact } from '@ag-grid-community/react';
import { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';
import '@ag-grid-community/core/dist/styles/ag-grid.css';
import '@ag-grid-community/core/dist/styles/ag-theme-alpine.css';
function GridExample() {
// never changes, so we can use useMemo
const modules = useMemo( ()=> [ClientSideRowModelModule], []);
// never changes, so we can use useMemo
const columnDefs = useMemo( ()=> [
{ field: 'athlete' }
], []);
// never changes, so we can use useMemo
const defaultColDef = useMemo( ()=> ({
resizable: true,
sortable: true
}), []);
// changes, needs to be state
const [rowData, setRowData] = useState();
// gets called once, no dependencies, loads the grid data
useEffect( ()=> {
fetch('https://www.ag-grid.com/example-assets/olympic-winners.json')
.then( resp => resp.json())
.then( data => setRowData(data));
}, []);
return (
<div>
<h1>Main page</h1>
<AgGridReact
className="ag-theme-alpine"
modules={modules}
columnDefs={columnDefs}
defaultColDef={defaultColDef}
rowData={rowData}
/>
</div>
);
}
export default GridExample;
完整代码: https://codesandbox.io/s/cocky-bhaskara-11sk1?file=/src/GridExample.jsx
【问题讨论】: