Странные проблемы с реагирующим холстом (нарушение инварианта)
Используем реагирование 0.13.3 и свежее реагирующее полотно. я собираюсь
Нарушение инварианта: addComponentAsRefTo(...): только ReactOwner может иметь ссылки. Обычно это означает, что вы пытаетесь добавить ссылку на компонент, который не имеет владельца (то есть не был создан внутри другого компонента). render
метод). Попробуйте отобразить этот компонент внутри нового компонента верхнего уровня, который будет содержать ссылку.
Со следующим фрагментом кода. Он сгенерирован из языка компиляции в jsx, поэтому выглядит немного уродливо, даже если немного его почистить.
define(["reactcanvas", "layout", "jquery", "underscore", "react"],
function(ReactCanvas, Layout, $, _, React){
var
ReactCanvas_Surface = ReactCanvas.Surface,
ReactCanvas_Image = ReactCanvas.Image;
var ReactCanvas_Surface_Factory = React.createFactory(ReactCanvas.Surface);
var ReactCanvas_Image_Factory = React.createFactory(ReactCanvas.Image);
var App = React.createClass({
render: function render(){
return (
ReactCanvas_Surface_Factory({
top:0,
left:0,
width:420,
height:420
}, ReactCanvas_Image_Factory({
src:"img/tits.jpg"
}))
);
}
});
var App_Factory = React.createFactory(App);
App.createMain = function createMain(el,data){
React.render(App_Factory(), el[0]);
}
return App;
});
1 ответ
Очевидно, что получил ответ в другом месте сразу после публикации здесь. Получается, что модуль ReactCanvas связал вторую версию реакции canvas, что создало проблемы.