从子组件访问父组件/属性

Access parent prop / attribute from child component

本文关键字:组件 属性 访问      更新时间:2023-09-26

我有一个组件,看起来像下面的代码,我需要一种方式从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>
);

您应该在代码中的SearchContainerrender中使用this.props.withFilter