我想在 Haml 文件中渲染 React 组件。有没有办法从 Haml 文件中调用 React JS 类进行渲染。
2 回答
我不认为这是可能的,因为 React 组件需要 React 应用程序才能工作,但是您可以使用webpack 的 haml-jsx-loader来实现相反的(haml inside react)。这是演示:
render() {
return (~
#content
.column.sidebar
%Sidebar(property={value}
onSelect={() => ...})
.column.main
%h2 Welcome to our site!
%p {info}
~);
}
您的问题上有一个“ManageIQ”标签,所以我假设您是在 ManageIQ UI 的上下文中提问的。
有一个名为的辅助方法react
允许您在 ManageIQ HAML 中使用 React 组件。它在这里实现: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
例如使用情况。
如果您想在 ManageIQ UI 中的 React 中编写表单,请使用本指南:https ://github.com/ManageIQ/guides/blob/master/ui/react_forms.md