Добрый вечер, у меня есть классовый компонент, который работает с 
<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 это не подходит.