为了账号安全,请及时绑定邮箱和手机立即绑定

仅更新反应中一项的状态

仅更新反应中一项的状态

侃侃无极 2023-07-14 16:46:19
我正在显示和隐藏通过状态管理的项目的描述。唯一的问题是我正在管理页面上所有映射项目的此状态,这意味着该状态将应用于所有项目。我怎样才能只管理包裹物品中的一件物品?这是我所做的示例。这里我设置状态为不显示描述:this.state = {        show: false    }点击它会显示描述,我是这样的:<div className="mx-auto pb-3">    {this.state.show ? <div><p className="mb-6 pt-3 text-center">        {node.description.description}    </p></div> : null}</div>如上所述,这适用于所有像这样包装的映射项: <div className="row mx-auto"> {this.state.allProducts.map(({ node }) => {.... })}</div>这是我的 onClick 函数<div className="mx-auto">    <p className="prd-desc-option" onClick={() => { this.setState({ show:     !this.state.show }) }}>{this.state.show ? 'Hide' : 'Show'} Description    </p></div>
查看完整描述

1 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

show您应该在级别上管理属性allProducts,然后基于它的条件:


<div className="row mx-auto">

  {this.state.allProducts.map(({ node }) => {

    <div className="mx-auto pb-3">

    {node.show ? 

      <div><p className="mb-6 pt-3 text-center">

        {node.description.description}

      </p></div> : null}

    </div>

  })}

</div>


查看完整回答
反对 回复 2023-07-14
  • 1 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信