我在使用反应组件的RoR应用程序(ruby 2.5,rails 5.1.4)中出现此错误。
元素引用被指定为字符串(名称)但未设置所有者。您可能有多个已加载React的副本
反应组件文件:
var NewItem = createReactClass({
render() {
return (
<div>
<input ref='name'/>
</div>
)
}
});
不过,我没有使用npm。
开始的教程
答案 0 :(得分:2)
根据documentation,ref
属性采用回调函数,而不是字符串。
此函数接收DOM元素。 E.g:
<input type="text" ref={(input) => { this.textInput = input; }} />
使用this.textInput
,您可以访问元素方法,例如.focus()
,.blur()
等。