渲染 "namespaced" 组件 react-rails
Render "namespaced" component react-rails
我目前正在使用带有 Rails 5.2.0 应用程序的 React,以及 react-rails gem.
为了保持文件的干净分布,我想将它们存储在它们的特定文件夹中,为此我想为我将需要的组件命名空间。
gem 的实现运行良好,我可以毫无问题地呈现简单的 GreetUser 组件。当我想添加一个命名空间时,挑战就来了,我不确定 React、react-component (helper) 或任何其他是否支持它(因为 Rails 会这样做)。
我试图呈现策略组件的尝试:
# view
<%= react_component 'Policies.Policies' %>
# component
# app/javascripts/components/policies/Policies.js
import React from 'react'
import PropTypes from 'prop-types'
export default class Policies extends React.Component {
render() {
<div>
<h1>I'm watching you</h1>
<div>
}
}
我得到:
Error: Cannot find module './Policies'.
ReferenceError: Policies is not defined
Uncaught Error: Cannot find component: 'Policies.Policies'. Make sure your component is available to render.
在视图中,您应该在命名空间中使用斜杠 (/
) 而不是点:
<%= react_component 'Policies/Policies' %>
你的Policies
目录应该大写:
app/javascripts/components/Policies/Policies.js
应该可以
我目前正在使用带有 Rails 5.2.0 应用程序的 React,以及 react-rails gem.
为了保持文件的干净分布,我想将它们存储在它们的特定文件夹中,为此我想为我将需要的组件命名空间。
gem 的实现运行良好,我可以毫无问题地呈现简单的 GreetUser 组件。当我想添加一个命名空间时,挑战就来了,我不确定 React、react-component (helper) 或任何其他是否支持它(因为 Rails 会这样做)。
我试图呈现策略组件的尝试:
# view
<%= react_component 'Policies.Policies' %>
# component
# app/javascripts/components/policies/Policies.js
import React from 'react'
import PropTypes from 'prop-types'
export default class Policies extends React.Component {
render() {
<div>
<h1>I'm watching you</h1>
<div>
}
}
我得到:
Error: Cannot find module './Policies'.
ReferenceError: Policies is not defined
Uncaught Error: Cannot find component: 'Policies.Policies'. Make sure your component is available to render.
在视图中,您应该在命名空间中使用斜杠 (
/
) 而不是点:<%= react_component 'Policies/Policies' %>
你的
Policies
目录应该大写:app/javascripts/components/Policies/Policies.js
应该可以