Как интегрировать HAML с реагировать JS. Я хочу, чтобы отреагировать компонент, используя файл Haml?

Я хочу визуализировать компонент React в файле Haml. Есть ли способ вызвать класс React JS из файла Haml для визуализации.

2 ответа

Я не думаю, что это возможно, потому что компоненты React требуют, чтобы приложение React работало, однако вы можете достичь противоположности (хамл внутри реагировать), используя haml-jsx-loader для веб-пакета. Вот демо:

render() {
   return (~
    #content
      .column.sidebar
        %Sidebar(property={value}
               onSelect={() => ...})

      .column.main
        %h2 Welcome to our site!
        %p {info}
   ~);
}

В вашем вопросе есть тег "ManageIQ", поэтому я предполагаю, что вы спрашиваете в контексте интерфейса ManageIQ.

Есть вспомогательный метод с именем react это позволяет вам использовать компонент React в HAML ManageIQ. Это реализовано здесь: https://github.com/ManageIQ/manageiq-ui-classic/blob/master/app/helpers/reactjs_helper.rb

Пример вызова:

= реагировать 'ReportDataTable', {:reportResultId => @report_result_id}

Для этого вам нужно зарегистрировать свой компонент React здесь: https://github.com/ManageIQ/manageiq-ui-classic/blob/master/app/javascript/packs/component-definitions-common.js

Там вы также можете увидеть список компонентов, которые уже зарегистрированы и grep например использование.

Если вы хотите писать формы в React внутри ManageIQ UI, используйте это руководство: https://github.com/ManageIQ/guides/blob/master/ui/react_forms.md

Другие вопросы по тегам