【问题标题】:react-rails gem call component when data is ready数据准备好时 react-rails gem 调用组件
【发布时间】:2015-01-22 00:50:38
【问题描述】:

我试图在渲染函数中调用组件,当数据准备好时,或者返回 null。我不知道为什么,但是 react-rails gem 在这个字符串中返回 Parse Error 。源码如下:

var PlayersData = React.createClass({

  loadDataFromServer: function() {
    console.log("loadDataFromServer");
    $.ajax({
      url: this.props.url,
      dataType: 'json',
      success: function(data) {
        this.setState({data: data});
      }.bind(this),
      error: function(xhr, status, err) {
        console.error(this.props.url, status, err.toString());
      }.bind(this)
    });
  },

  getInitialState: function() {
    console.log("getInitialState");
    return {data: {}};
  },

  componentWillMount: function() {
    console.log("componentWillMount");
    this.loadDataFromServer();
  },

  render: function() {
    console.log("render");
    return (
      {this.state.data ? : <PlayersRepresentation data={this.state.data} /> : null}
    );
  }
});

错误跟踪日志:

Showing /Users/user/Documents/Projects/rails_react/app/views/layouts/application.html.erb where line #12 raised:

Error: Parse Error: Line 30: Unexpected token .
  (in /Users/user/Documents/Projects/rails_react/app/assets/javascripts/components/match_center/players_data.js.jsx)

如何解决?

【问题讨论】:

    标签: javascript ruby-on-rails reactjs react-rails


    【解决方案1】:

    这个冒号不属于:

     //                 V
     {this.state.data ? : <PlayersRepresentation data={this.state.data} /> : null}
    

    如果你删除它,它会正确解析吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多