1

我想在 Haml 文件中渲染 React 组件。有没有办法从 Haml 文件中调用 React JS 类进行渲染。

4

2 回答 2

1

我不认为这是可能的,因为 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}
   ~);
}
于 2018-12-13T07:19:15.720 回答
0

您的问题上有一个“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

于 2019-02-12T07:46:41.373 回答