Reactjs 材质ui:未捕获不变冲突:traverseParentPath
我在AppBar中有一个搜索文本字段,我正在某些页面上动态加载该字段。如果某个组件加载到我的“MainView”中,这是一个需要搜索的列表,那么该组件可以通过ComponentWillMount动态通知搜索框显示。该组件还需要在卸载时隐藏搜索框。但是,每当我卸载搜索框组件时,都会出现以下错误: 未捕获不变冲突:traverseParentPath(…):无法从同一ID“%1”和向同一ID“%2”进行遍历 下面是显示文本搜索的代码:“header”在上面的render方法中定义,它只调用redux state propReactjs 材质ui:未捕获不变冲突:traverseParentPath,reactjs,material-ui,Reactjs,Material Ui,我在AppBar中有一个搜索文本字段,我正在某些页面上动态加载该字段。如果某个组件加载到我的“MainView”中,这是一个需要搜索的列表,那么该组件可以通过ComponentWillMount动态通知搜索框显示。该组件还需要在卸载时隐藏搜索框。但是,每当我卸载搜索框组件时,都会出现以下错误: 未捕获不变冲突:traverseParentPath(…):无法从同一ID“%1”和向同一ID“%2”进行遍历 下面是显示文本搜索的代码:“header”在上面的render方法中定义,它只调用redux
<AppBar
title={this.props.title}
onLeftIconButtonTouchTap={this.handleToggle.bind(this)}
iconElementRight={
<div>
{header.showSearch
?
<TextField onChange={this.updateSearchText.bind(this)}
id="header_search"
hintText="Search..."/>
: ''}
<IconMenu
iconButtonElement={
<IconButton><NavigationMoreVert /></IconButton>
}
targetOrigin={{horizontal: 'right', vertical: 'top'}}
anchorOrigin={{horizontal: 'right', vertical: 'bottom'}}
>
<MenuItem primaryText="Sign out" onTouchTap={this.logoutUser.bind(this)} leftIcon={<ActionExitToApp />} />
</IconMenu>
</div>
}
/>
如果我注释掉文本字段,我永远不会收到错误。此外,如果我不卸载它,我不会收到错误
有什么想法吗
更新:这是0.15.0-alpha.2版本的材料界面。我可以确认14.4版中没有出现此错误。尝试将
id=“header\u search”
更改为ref=“header\u search”
。React喜欢拥有身份证。谢谢你的建议,但那没用。我仍然收到相同的错误。请尝试将id=“header\u search”
更改为ref=“header\u search”
。React喜欢拥有身份证。谢谢你的建议,但那没用。我仍然会犯同样的错误。