未捕获的ReferenceError:在反应js中未定义控制器

时间:2017-12-04 08:44:51

标签: ruby-on-rails reactjs

这是由于早期版本和依赖项失败而导致的第二个教程。你可以猜到我只是想在这里开始做出反应。

我创建了一个名为Appointments的控制器。这是我的控制器jsx在components文件夹中。

应用/资产/ JS /组件/ appointments.jsx

var Appointments = React.Component({
    render: function() {
        return (
         <h1>React calender</h1>
        )
    }
});

约会/ index.html.erb

<%= react_component 'Appointments' %>

我重启了rails服务器。我只看到一个空白的浏览器和控制台显示这个

Uncaught ReferenceError: Appointments is not defined 

1 个答案:

答案 0 :(得分:2)

你最有可能做的就是这个

const Appointments = React.createClass({
    // ...
    render() {
    return <div>{this.state.hello}</div>;
  }
});

如果您计划或拥有内部状态和/或参考

,这不是一件好事

建议宁愿这样做

class Appointments extends React.Component {
   // ...
  render() {
    return <div>{this.state.hello}</div>;
  }
}

因此,在您的情况下,您的组件应更改为:

var Appointments = React.Component({
  render: function() {
    return (
     <h1>React calender</h1>
    )
  }
});

到此:

class Appointments extends React.Component {
  render() {
    return (
     <h1>React calender</h1>
    )
  }
}