2016-05-08 4 views
0

私はこのtutorialを通過しており、レコードコンポーネントを変更して2つのDOMレンダリングの間にReact.createElement RecordForm, handleNewRecord: @addRecordを追加するまでうまくいきました。妨害してDOMがまったくレンダリングされないように思われます。 ":RecordForm定義されていないキャッチされないにReferenceErrorが"なぜcreateElementは反応レールにDOMがロードされないようにしますか?

@Records = React.createClass 
    getInitialState: -> 
    records: @props.data 
    getDefaultProps: -> 
    records: [] 
    addRecord: (record) -> 
    records = @state.records.slice() 
    records.push record 
    @setState records: records 
    render: -> 
    React.DOM.div 
     className: 'records' 
     React.DOM.h2 
     className: 'title' 
     'Records' 
     React.createElement RecordForm, handleNewRecord: @addRecord 
     React.DOM.hr null 
     React.DOM.table 
     className: 'table table-bordered' 
     React.DOM.thead null, 
      React.DOM.tr null, 
      React.DOM.th null, 'Date' 
      React.DOM.th null, 'Title' 
      React.DOM.th null, 'Amount' 
     React.DOM.tbody null, 
      for record in @state.records 
      React.createElement Record, key: record.id, record: record 

コンソールのエラーは言う:

は、ここでコンポーネントです。どちらがいいですか。それはです:

@RecordForm = React.createClass 
bla bla bla bla 
handleChange: (e) -> 
    name = e.target.name 
    @setState "#{ name }": e.target.value 
handleSubmit: (e) -> 
    e.preventDefault() 
    $.post '', { record: @state }, (data) => 
     @props.handleNewRecord data 
     @setState @getInitialState() 
    , 'JSON' 
    render: -> 
    React.DOM.form 
    bla bla bla bla 

何がありますか?

答えて

0

私はhandleChangeの前に意図しないスペースがあったようです。各関数間に改行を追加することでそれを解決しました。 >:/

関連する問題