使用 react 0.13.3 和新的 react-canvas。我越来越
Invariant Violation: addComponentAsRefTo(...): 只有 ReactOwner 可以有 refs。这通常意味着您正在尝试将 ref 添加到没有所有者的组件(即不是在另一个组件的render
方法中创建的)。尝试在一个新的顶级组件中渲染这个组件,该组件将保存 ref。
使用以下代码。它是从 compile-to-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;
});