Доступ к ссылкам дочерних элементов из родительского компонента при первом рендере - PullRequest
0 голосов
/ 21 октября 2019

Это сводит меня с ума. У меня есть случай использования, когда я вставляю узел в одном редакторе, и он должен вставить узел в последующих редакторах. Я выполняю рендеринг компонентов только при щелчке по ним, поэтому, если я использую традиционный способ ссылки,

ref={editor => {
      this.editorRef = editor;
}} 

, следующая ссылка на редакторы в модели родительских компонентов будет нулевой. Кстати, модель родительского компонента имеет editorRef модель как

 editorRef = {
    editor0: null,
    editor1: null
  };

Вот код-песочница

Ранее я легко обновлял их при рендерингеза один раз, но здесь они отображаются в соответствии с кнопкой навигации, которую они нажимают.

1 Ответ

1 голос
/ 21 октября 2019

Я быстро осмотрел и нашел ваше текущее решение слишком сложным - я думаю, что ваш подход нуждается в переосмыслении.

Вам не нужно играть с реферами, чтобы делать то, чтоВы хотите сделать, ссылки необходимы только для нескольких вариантов использования, и это не один из них. Вставка текста должна просто обновить ваше состояние в общем родителе, а затем это состояние должно использоваться для отображения того, что вам нужно в ваших двух (или сколько угодно) редакторах.

...