Компонент состояния Aframe — шаблон добавляет элемент за пределами Aframe

#reactjs #aframe

#reactjs #фрейм

Вопрос:

Я пытаюсь создать шаблон объекта, используя aframe-state-component:

   <a-entity layout="type: circle; radius: 10" bind-for="for: guidePreview; in: guidePreviews; key: id">
          <template>
            <a-entity draw="width:256; height: 256" guidepreview="{{guidePreview}}" bind="data: guidePreview"></a-entity>
          </template>
  </a-entity>
  

Я получаю

Вы пытаетесь прикрепить вне сцены A-Frame. Вместо этого добавьте этот элемент в <a-scene> . aframe-master.js:58249 Неперехваченная ошибка типа: parentEl.emit не является функцией

 at HTMLElement.value (aframe-master.js:58249)
at HTMLElement.value (aframe-master.js:58112)
at HTMLElement.wrappedMethod (aframe-master.js:59621)
at HTMLElement.value (aframe-master.js:58246)
at HTMLElement.value (aframe-master.js:58112)
at HTMLElement.wrappedMethod (aframe-master.js:59621)
at NewComponent.renderItems (aframe-state-component.js:953)
at NewComponent.<anonymous> (aframe-state-component.js:932)
  

Это внутри сцены, однако это также внутри компонента React (который мне нужен для определения доступа и маршрутизации)

Является ли причиной добавления шаблона за пределы сцены из-за React?

Комментарии:

1. Работает ли это вне React? Не знаю, все ли это портит.

2. Можете ли вы поделиться фрагментом <a-scene> , чтобы показать, как используется компонент?

3. Сегодня у меня была похожая проблема, у меня есть проект с Preact и A-frame, и я создал компонент Preact под названием «StartGameMenu», который я использую внутри другого компонента под названием «MainMenu», структура компонентов выглядит следующим образом: <a-scene> -> Game > MainMenu> StartGameMenu. По какой-то причине StartGameMenu отображался вне <a-scene>, что не имеет смысла, поскольку в структуре он является дочерним элементом <a-scene>, я пробовал все, пока не изменил имя компонента, и, наконец, сработал. Я не знаю, почему это произошло…

4. Я был неправ в последнем комментарии, я выяснил, что если я передаю setState-хук компоненту, по какой-то причине он отображается за пределами <a-scene>, я делал что-то подобное -> <${InitGameMenu} clickConfig=${setStep("one")} /> , это было исправлено с помощью: <${InitGameMenu} clickConfig=${setStepOne} /> . Это было причиной проблемы, а не имя компонента, но я все еще не знаю, почему объект был отображен за пределами <a-scene>