react-typeahead — нарушение инварианта: проблема с addComponentAsRefTo()

Узел v0.12.2

Реагировать v0.13.2

Нпм v2.7.4

Использование стандартного ввода с опережением вызывает следующую ошибку:

Неперехваченная ошибка: нарушение инварианта: addComponentAsRefTo(...): Только ReactOwner может иметь ссылки. Обычно это означает, что вы пытаетесь добавить ссылку на компонент, у которого нет владельца (то есть он не был создан внутри метода render другого компонента). Попробуйте визуализировать этот компонент внутри нового компонента верхнего уровня, который будет содержать ссылку.

Вот как я реализую typehead...

В Index.jsx есть:

'use strict'
var React = require('react');
var ReactTypeahead = require('react-typeahead').Typeahead
var QuickSearch = React.createClass({
 render: function () {
  return(
   <ReactTypeahead options={["spam", "foodbar"]}/>
  );
 }
});

var Topbar = React.createClass({
 render: function() {
  return (
   <QuickSearch />
  );
 }
});

module.exports = Topbar;

И затем в моем App.jsx у меня есть:

'use strict';
var React = require('react');
var Topbar = require('./topbar');
var App = React.createClass({
render: function () {
  return (
   <div>
    <Topbar />
   </div>
  );
 }
});

module.exports = App;

person user3821968    schedule 07.05.2015    source источник


Ответы (1)


Мне кажется, вам не хватает точки с запятой после запроса на ввод.

person Bonjowi    schedule 20.08.2015