我使用的是dev-express中的react-grid库,库中有一个表组件,我们可以向它传递单元格组件,在CustomCell中,我使用的是Material UI中的菜单
<Table
columnExtensions={tableColumnExtensions}
cellComponent= {CustomCell}
/>
在上述情况下,菜单工作良好,
但是我想要传递道具到这个组件,我尝试了以下操作
<Table
columnExtensions={tableColumnExtensions}
cellComponent= {(props)=><CustomCell {...props} someFunc={this.someFunc} />}
/>
在这种情况下菜单不工作,我想知道是否有一个替代的方法来实现第二种情况。
您可以使用withprops
:
const CustomCellWithSomeFunc = withProps({someFunc: this.someFunc.bind(this)})(CustomCell);
<Table
columnExtensions={tableColumnExtensions}
cellComponent= {CustomCellWithSomeFunc/>}
/>
如果您周围的组件提供了道具
,那么您可以如下所示:
class Foo extends React.Component {
someFunc = () => {}
render () {
return <Table
columnExtensions={tableColumnExtensions}
cellComponent= {() => <CustomCell {...this.props} someFunc=
{this.someFunc} />}
/>
}
}