我有一个看起来像以下代码的组件,并且需要一种从SearchBox
内部的方法来知道其父级(SearchContainer
)的值具有withFilter
属性集。
甚至更好的是,还有一种方法使SearchContainer
能够检测到其中是否具有SearchFilter
组件,这样我就可以摆脱该属性并使SearchBox
也知道。
<SearchContainer withFilter>
<SearchFilter>Filter Orders</SearchFilter>
<SearchBox/>
</SearchContainer>
最佳答案
作为一种设计方法,SearchContainer
应该具有一个决定是否显示SearchFilter
的道具。
var hasFilter = true;
return (
<SearchContainer withFilter={hasFilter}>
{withFilter ? <SearchFilter>Filter Orders</SearchFilter> : null}
<SearchBox withFilter={hasFilter} />
</SearchContainer>
);
您应该在代码中
this.props.withFilter
的render
内使用SearchContainer
。关于javascript - 从子组件访问父 Prop /属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32596759/