我正在使用文件上传组件,这是相关部分的摘录:
class FileUpload extends React.Component {
static propTypes = {
edit_mode: React.PropTypes.bool
};
constructor(props) {
super(props);
this.delete_asset = this.delete_asset.bind(this);
}
delete_asset(id, event) {
}
render() {
return <div>
{this.props.edit_mode ?
<button onClick={() => this.delete_asset()}>Delete</button>
: <span />
}
</div>;
}
}
此组件在react-router
设置中连接,并且在路由更改时,它是路由目标的几个嵌套组件之一。
每当我更改路线时,即使edit_mode
在路线更改时没有改变,我也会收到以下异常:
invariant.js:39 Uncaught Invariant Violation:findComponentRoot(...,&gt; 0.1.1.1。$ 0.1.1.0):无法找到元素。这可能意味着DOM意外地发生了变异(例如,通过浏览器),通常是由于在使用表时忘记了,嵌套标签,如
,或者在父级中使用非SVG元素。尝试使用React ID“。”检查元素的子节点。
不抛出异常然后省略onClick
处理程序。
有什么想法吗?