【问题标题】:Material UI: Access children nodes in <List> componentMaterial UI:访问 <List> 组件中的子节点
【发布时间】:2021-03-19 17:22:50
【问题描述】:

假设我有一个隐藏的购物车,只有在我点击商店中的购物车图标时才会呈现。当购物车呈现时,里面有一个 List 组件,里面有三个孩子(假设这些是我添加到购物车中的项目):

<List >
    <p>item1</p>
    <p>item2</p>
    <p>item3</p>
</List>

我需要随时知道列表中有多少物品,以便我可以在购物车图标上显示一个小徽章,以及购物车中的物品数量。 我在 Material UI 文档中读到 List 有一个“children”道具,它是一组子组件,但我对如何访问它感到很困惑,我想知道它是否会跟踪该数组,即使购物车是未渲​​染。

【问题讨论】:

    标签: reactjs material-ui material-design react-material


    【解决方案1】:

    在构造函数内为列表创建一个 ref,并以编程方式计算渲染内或任何需要的子长度。

    constructor(props) {
       this.listboxRef = React.createRef();
    }
    
    <List ref={this.listboxRef}>
       <p>item1</p>
       <p>item2</p>
       <p>item3</p>
    </List>
    
    var cartCount = this.listboxRef.children().length;
    

    【讨论】:

    • 我对 React 还很陌生,我没有研究类组件,但我可以使用“useRef”钩子来完成同样的事情,对吧?
    • 是的,没错。在您的情况下,您将没有构造函数。所以你可以在功能组件中对 useref 做同样的事情。
    猜你喜欢
    • 2021-05-28
    • 2018-05-13
    • 2016-09-29
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 2020-04-07
    • 2019-11-28
    • 2013-06-07
    相关资源
    最近更新 更多