我正在尝试使用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'”
我认为,我确实需要“导入”或“导出”或“公开”这些模块,但是我不知道在哪里以及如何不能这样做。我搜索了很长时间,但对我没有任何帮助。