2

React を使用してオプションを動的にロードすることにより、選択を実行しようとしています。

私のフォームコンポーネント:

...
React.DOM.select
  className: 'form-control'
  name: 'user'
  React.createElement UserOptions

ユーザー オプション コンポーネント:

@UserOptions = React.createClass
  getInitialState: ->
    connections: []

  componentDidMount: ->
    @getUsers()

  render: ->
    for connection in @state.connections  
      React.DOM.option
        value: connection.id
        label: connection.name

  getUsers: ->
    $.ajax 
      type: 'GET'
      url: '/connections'
      dataType: 'json'
      success: (connections) =>
        @setState(connections: connections)

ページを試してみると、javascript が壊れて (何も読み込まれません)、エラーが発生します

Uncaught Invariant Violation: Constructor.render(): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.

コールバックでロードしようとするとcomponentWillMount、同じエラーが発生します +

Uncaught TypeError: Cannot read property '_currentElement' of null

react-railsジェムを使用しています。

奇妙なことは、success calllback 内でデバッグするときに setState を手動で呼び出してから、connectionsそれらが更新されていることを確認することですが、Uncaught TypeError: Cannot read property '_currentElement' of nullとにかく取得することです

どんな助けでも大歓迎です。私はReactを初めて使用するので、些細なことかもしれません。

4

0 に答える 0