Добрый вечер, у меня есть классовый компонент, который работает с
<canvas>
В нем реализованы все необходимые методы для отрисовки.
class Layout extends React.Component {
canvas = React.createRef();
// методы для отрисовки, отчистки и тп
draw = (x1, y1, x2, y2) => {
// рисуем линию
};
render() {
return <canvas ref={this.canvas />;
}
}
Как я могу вызвать метод
draw
этого класса из родительских компонентов ?
Грубо говоря мне нужно управлять
<Layout />
из родительских компонентов.
Уровень вложенности может быть разный.
Пока знаю только 1 вариант (не проверял рабочий ли он):
Использовать контекст, передавать ref на компонент
<Layout />
и использовать ее для управления компонентом.
Какие способы решения этому есть?
P.S. Я знаю что обычно компоненты управляются с помощью state, props, но в моем случае, при работе с canvas это не подходит.