我正在研究react
项目,在这个项目中,我和我的同事正在使用Material UI
,出于某种原因,我想访问DOM node
另一个由HOC
. 我ref
为此使用了反应。但我只是得到了withStyle
对象,见下文:
这是我的TableHead
:
import React from 'react';
import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles';
import { TableHead as MaterialTableHead, TableRow } from '@material-ui/core';
import TableCell from './TableCell';
const TableHead = ({ classes, head, ...rest }) => (
<MaterialTableHead {...rest}>
<TableRow>
{head.map(item => (
<TableCell key={item.key} className={classes.headCell} style={{ width: item.width }}>
{item.title}
</TableCell>
))}
</TableRow>
</MaterialTableHead>
);
TableHead.propTypes = {
classes: PropTypes.object.isRequired,
head: PropTypes.arrayOf(PropTypes.shape({
key: PropTypes.string.isRequired,
title: PropTypes.string.isRequired,
width: PropTypes.string,
render: PropTypes.func,
})).isRequired,
};
TableHead.defaultProps = {};
const styles = () => ({
headCell: {
fontSize: '18px',
color: '#0c1d38',
},
});
export default withStyles(styles, { withTheme: true })(TableHead);
在Table
组件中我想计算组件的高度TableHead
,所以我使用下面的代码:
<TableHead ref={(header) => { this.header = header; }} head={head} />
和组件 I的内部componentDidMount
,如下所示:Table
console.log(this.header)
我在网上寻找并找到一些GitHub
问题页面并尝试innerRef
代替,ref
但这对我没有帮助。
如何访问 DOM 节点以计算其高度?