无法访问 AgGrid cellRenderer 中的组件状态

问题描述 投票:0回答:0

在我的 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}
            />
        
        </>
    ); 
}   
javascript reactjs ag-grid ag-grid-react cellrenderer
© www.soinside.com 2019 - 2024. All rights reserved.