在没有自定义组件的情况下将Blueprintjs组件与react_component视图帮助器结合使用

时间:2019-07-13 02:27:16

标签: ruby-on-rails ruby-on-rails-5 webpacker react-rails blueprintjs

我正在尝试使用Blueprintjs中的现成组件,但直接使用rails的辅助react_component(使用gem react-rails)。我通过npm添加了蓝图。

例如,我希望使用组件“ Button”,但是我无法想象如何像使用自己的自定义组件一样“加载”库中的组件。

例如:如果我添加了一个名为“ MyButton”的自定义组件,我可以简单地这样写:

import { Button } from "@blueprintjs/core";

class MyButton extends React.Component {
  render () {
    return (<Button icon="refresh" />);
  }
}

export default MyButton;

一切正常。但是我想避免使用“包装器”组件,而直接通过以下方式使用提供Blueprintjs的组件:

react_component“按钮”,{icon:“刷新”}

进入ERB视图。

我尝试过的是将库“包含”到位于app / javascript / packs文件夹中的application.js中,所以:

// Support component names relative to this directory:
//= require @blueprintjs/core/dist/core.bundle
var componentRequireContext = require.context("components", true);
var ReactRailsUJS = require("react_ujs");
ReactRailsUJS.useContext(componentRequireContext);

但是Chrome开发者工具总是说“找不到模块'./Button'”

我认为,我确实需要“导入”或“导出”或“公开”这些模块,但是我不知道在哪里以及如何不能这样做。我搜索了很长时间,但对我没有任何帮助。

0 个答案:

没有答案