Как интегрировать 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