我试图使用React使用ref属性。我的浏览器出现了一个奇怪的错误,我无法找出问题出在哪里。有人能解释我为什么会犯这个错误吗?
错误:不变违反:addComponentAsRefTo(.):只有ReactOwner才能有参考文献。这通常意味着您试图将ref添加到没有所有者的组件(也就是说,它不是在另一个组件的
render方法中创建的)。尝试将此组件呈现在一个新的顶层组件中,该组件将保存参考文件。
当我有了这个密码:
/**
* @jsx React.DOM
*/
(function(){
var react = require('react');
var App = react.createClass({
render: function() {
return (
<h1 ref="myRef">This is a test</h1>
);
}
});
react.render(
<App />,
document.body
);
}());发布于 2015-03-14 19:02:31
你的代码是正确的。
工作jsFiddle:http://jsfiddle.net/reactjs/69z2wepo/
var App = React.createClass({
render: function() {
return (
<h1 ref="myRef">This is a test</h1>
);
}
});
React.render(
<App />,
document.body
);根据错误消息,您将一个参考文件放在一个非拥有的元素上,但是在您提供的代码中,h1是由App拥有的。您的代码与上面粘贴的代码不同吗?
注(从医生那里):
In React, an owner is the component that sets the props of other components ...
It's important to draw a distinction between the owner-ownee relationship and the parent-child relationship. 发布于 2015-12-08 14:35:19
这个答案可能帮助您参观,仔细检查您的代码,针对这两个问题,我的错误是由后一个。
在我的代码中,我编写了require("React") require("React-dom"),实际上它是require('react'),我修改了我的代码,它成功了。所有的错误都是由这两个因素造成的。完全检查你的代码。
https://stackoverflow.com/questions/27267219
复制相似问题