在我的 React 应用程序中,我有一个具有本地状态 (
myObj
) 的功能组件,它是通过来自父级的上下文对象(基于 API 响应)填充的。我使用这个本地状态来填充 AgGrid,在这个网格中,我有一个使用 cellRenderer 的行级编辑链接。
现在,我想访问此 cellRenderer 中的本地状态 (myObj),但我将其作为空对象获取
{}
我试过添加
cellRendererParams: {myObj: myObj}
,但还是不行。
我是否需要添加更多内容来访问 cellRenderer 中的函数组件状态
function MyChildComponent(props) {
const [gridData, setGridData] = useState([]);
const [myObj, setMyObj] = useState({
gridItems: [{
fields: [{
field1: {},
field2: {}
}]
}]
});
useEffect(() => {
//API call to set myObj with data (includes grid data within the API response)
}, [myContextObjWithData]);
useEffect(() => {
if (myObj && myObj.gridItems && myObj.gridItems.length > 0) {
setGridData([{
'field1': 'Primary',
'field2': 'F1'
}, {
'field1': 'Secondary',
'field2': 'F2'
}])
}
}, [myObj])
setMyColumns([
{
headerName: 'Col 1',
field: 'field1'
}, {
headerName: 'Col 2',
field: 'field2'
}, {
headerName: '',
field: '',
cellRendererParams: {myObj: myObj},
cellRenderer: (params) => {
console.log(myObj); // Returns empty object
}
}
])
return (
<>
<MyAgGrid
id="myGrid"
columnDefs={myColumns}
rowData={gridData}
{...props}
/>
</>
);
}