Я относительно новичок в реакции и, кажется, не могу понять этого, я исследовал это в течение некоторого времени, и, похоже, ничего не работает.
У меня есть родительский компонент, в котором я использую 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 всегда равен нулю
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;
Любая помощь приветствуется
>
для ребенка<Child ref={this.chartRef}> </Child>
- person Shubham Khatri   schedule 09.03.2021