Javascript 使用addComponentAsRefTo响应生产生成上的反应引用
这是我的组件,带有refJavascript 使用addComponentAsRefTo响应生产生成上的反应引用,javascript,reactjs,Javascript,Reactjs,这是我的组件,带有ref import React, { Component } from 'react'; export default class Comp1 extends Component { render() { return ( <span > <span ref="someRef"> <input type='text'/> </span> </span>
import React, { Component } from 'react';
export default class Comp1 extends Component {
render() {
return (
<span >
<span ref="someRef">
<input type='text'/>
</span>
</span>
);
}
import React,{Component}来自'React';
导出默认类Comp1扩展组件{
render(){
返回(
);
}
它在development env上的响应与预期一样,但是当我使用production
env构建时,会出现以下错误
invariant.js:38未捕获的不变冲突:addComponentAsRefTo(…):只有ReactOwner可以有ref。您可能正在向组件的render
方法中未创建的组件添加ref,或者加载了React的多个副本(详细信息:)
我真的被这个错误缠住了。有人遇到过类似的问题吗??
使用react v15.0.1
根据该错误的官方文件,可能有两个原因,无效参考和多份react。
这是我的npm ls react
└── react@15.2.1
下面是npm ls | grep react
可能重复感谢您为类似问题提供了链接。请阅读更新的部分我也有同样的问题,错误只出现在生产版本中。结果表明,在重构后,我在映射数组时反复使用相同的字符串ref。删除ref也修复了错误。