我有一个看起来像下面代码的组件,我需要从SearchBox
开始知道它的父级(SearchContainer
)的值是否设置了withFilter
属性。 / p>
如果SearchContainer
有一种方法可以检测其中是否有SearchFilter
组件,那么我可以更好地删除该属性,SearchBox
也可以知道
<SearchContainer withFilter>
<SearchFilter>Filter Orders</SearchFilter>
<SearchBox/>
</SearchContainer>
答案 0 :(得分:1)
作为一种设计方法,SearchContainer
应该有一个道具,决定它是否显示SearchFilter
。
var hasFilter = true;
return (
<SearchContainer withFilter={hasFilter}>
{withFilter ? <SearchFilter>Filter Orders</SearchFilter> : null}
<SearchBox withFilter={hasFilter} />
</SearchContainer>
);
您应该在代码的this.props.withFilter
render
内使用SearchContainer
。