当前位置: 首页 > 知识库问答 >
问题:

React JSX[重复]的可选属性集

樊运乾
2023-03-14

我即将使用React制作下一个页面,我找不到如何将可配置属性集放入组件中,例如:

<ProgressBar active now={current} max={total}/>

仅当current==total时,我才想在ProgressBar中添加活动属性。

我该怎么做呢?

有一个简单的方法来切换两个选项活动和剥离?像这样的东西:

<ProgressBar {current==total ? stripped : active} now={current} max={total}/>

除了创建属性对象并将其展开{…props}

共有1个答案

颛孙越
2023-03-14

如果组件正确处理false值,只需始终添加道具:

let stripped = this.state.current === this.state.total;

 <ReactBootstrap.ProgressBar
   stripped={stripped}
   active={!stripped}
   now={this.state.current}
   max={this.state.total}
 ?>

如果必须传递其中一个,则可以创建一个对象并将其扩散到元素中:

let props = {
  [this.state.current === this.state.total ? 'stripped' : 'active']: true,
  now: this.state.current,
  max: this.state.total,
};

<ReactBootstrap.ProgressBar {...props} />
 类似资料:
  • 我有一个函数,它将调用外部资源(例如REST)并根据结果返回JSON对象。 例如,如果我发送一个POST并且它可以工作,我需要对象是: 但是当它由于某种原因失败时,我不想要id(因为它将是未定义的)。类似于: 所以只有一个处理方法: 当一切正常时,它会工作,但当它失败时,它会呈现: 有没有办法使“id”成为可选的,这取决于它是否被定义?类似于: 那么在“未定义”中,它将被忽略?我知道我可以只取这个

  • 和标题差不多。我在请求正文中有一个可选对象。但是,如果给定了该对象,则它必须包含几个子属性。 我的OpenAPI组件配置如下所示: 我正在使用express openapi validator来验证这一点。现在,我不明白这是否是express openapi validator包的问题,但可选字段(partner)的必填字段(名称、电话)从未验证过。我可以只提供合作伙伴:{},然后直接插入,或者甚

  • 直接上代码看注释: <?php namespace Yurun\Util\YurunHttp; /** * 所有属性的常量定义 * * PRIVATE_ 开头的为内部属性,请勿使用 */ abstract class Attributes { /** * 客户端参数 */ const OPTIONS = 'options'; /**

  • 有大量属性能用来控制 Hibernate 在运行期的行为。它们都是可选的,并拥有适当的默认值。 警告 其中一些属性是"系统级(system-level)的"。系统级属性只能通过java -Dproperty=value 或 hibernate.properties 来设置,而不能用上面描述的其他方法来设置。 表 3.3. Hibernate 配置属性 属性名 用途 hibernate.dialec

  • 问题内容: 我正在Java中使用Selenium来测试Webapp中复选框的检查。这是代码: 我声明并将其分配给复选框所在的区域。 奇怪的是回报,因此 在复选框的HTML中,没有显示属性。但是,不是所有元素都有一个,这样的代码就可以工作吗? 问题答案: 如果您使用的是Webdriver,则正在寻找的项目已选中。 除非指定,否则通常在复选框呈现中实际上不会应用选中的属性。 所以您在Selenium

  • 编译错误->[无法推断flatMap(函数>)的类型参数]