我有一个看起来像以下代码的组件,并且需要一种从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.withFilterrender内使用SearchContainer

关于javascript - 从子组件访问父 Prop /属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32596759/

10-11 03:04