Рендеринг "пространства имен" - PullRequest
0 голосов
/ 30 августа 2018

В настоящее время я использую React с приложением Rails 5.2.0 с гемом Reaction-rails.

Чтобы обеспечить чистое распределение файлов, я хочу хранить их в определенной папке, и для этого я хочу указать пространство имен компонентов, которые мне понадобятся.

Реализация gem работает хорошо, и я могу без проблем отобразить тривиальный компонент GreetUser. Проблема возникает тогда, когда я хочу добавить пространство имен, и я не совсем уверен, поддерживает ли React, реагирующий компонент (помощник) или любой другой (как это сделает 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.

1 Ответ

0 голосов
/ 30 августа 2018
  1. Вы должны использовать косые черты, а не точки в пространстве имен:

  2. И да, ваша папка Policies должна быть заглавной: app/javascripts/components/Policies/Policies.js

Должно работать

...