Reactjs 反应高阶组分阻止道具传播

Reactjs 反应高阶组分阻止道具传播,reactjs,typescript,react-bootstrap,high-order-component,Reactjs,Typescript,React Bootstrap,High Order Component,我编写了一个React/Typescript高阶组件,以根据用户的权限显示/隐藏组件 在我尝试使用ReactBootstrap NavDropdown之前,它一直工作得很好。单击包装菜单项不会关闭菜单 我意识到“onSelected”属性(由NavDropdown组件应用)并没有向下传播到MenuItem。为了解决这个问题,我添加了一些代码来手动向下传播道具,但是单击仍然无法关闭菜单 谁能告诉我哪里出了问题 更新:经过进一步的测试,甚至用React.Fragment包装也会导致这个问题 导航:

我编写了一个React/Typescript高阶组件,以根据用户的权限显示/隐藏组件

在我尝试使用ReactBootstrap NavDropdown之前,它一直工作得很好。单击包装菜单项不会关闭菜单

我意识到“onSelected”属性(由NavDropdown组件应用)并没有向下传播到MenuItem。为了解决这个问题,我添加了一些代码来手动向下传播道具,但是单击仍然无法关闭菜单

谁能告诉我哪里出了问题

更新:经过进一步的测试,甚至用React.Fragment包装也会导致这个问题

导航:

导出类设置按钮扩展React.Component{
公共渲染(){
返回
{AuthStore.LogOut();}}>
注销
活动
;
}

}
包装器组件比需要的复杂得多(也不是常用术语意义上的HoC)。如果某个道具为假,您只需要防止渲染子对象,对吗?是的。最初,我只是归还道具,不管有没有孩子。但是MenuItems最终没有“onSelected”,所以我认为这样做可以解决这个问题。RE:HOC,如果我的术语错了,很抱歉。我还没反应过来。。。正确的术语是什么?