我对反应比较陌生,似乎无法弄清楚,我已经研究了一段时间,似乎没有任何效果。
我有一个使用 createRef 的父组件
class Parent extends React.Component {
constructor(props) {
super(props);
this.chartRef = React.createRef();
}
然后将其传递给孩子&访问如下
<Grid item xs={12}>
<Child
ref={this.chartRef}
/>
<Button onClick={this.getState}> get ref info</Button>
</Grid>
但在 getState chartRef current 始终为 null
getState = () => {
console.log(this.chartRef.current);
};
这是子组件
class Child extends React.Component {
componentDidMount() {
this.props.registerPlugins.forEach(plugin => {
Chart.pluginService.register(plugin);
});
}
render = () => {
const { data, options, plugins, height } = this.props;
const updatedOptions = {
...options
};
return <div>
<Line
height={height}
data={data}
options={updatedOptions}
plugins={plugins}/>
</div>;
};
}
Child.propTypes = {
height: PropTypes.number.isRequired,
data: PropTypes.object.isRequired,
options: PropTypes.object.isRequired,
plugins: PropTypes.array,
registerPlugins: PropTypes.array,
};
export default Child;
任何帮助表示赞赏