ReactDOM使用同一类渲染多个元素? [英] ReactDOM to render multiple elements using the same class at ones?

查看:393
本文介绍了ReactDOM使用同一类渲染多个元素?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有多个使用相同类并具有相同内容的元素.

I have a multiple elements using the same class and having the same content.

所以我可以使用ReactDOM而不是:

So I can I use ReactDOM to render them at ones instead of:

ReactDOM.render(
    <Footer source="./data/nav.json"/>,
    document.getElementsByClassName('footer')[0] //mountNode
);

ReactDOM.render(
    <Footer source="./data/nav.json"/>,
    document.getElementsByClassName('footer')[1] //mountNode
);

ReactDOM.render(
    <Footer source="./data/nav.json"/>,
    document.getElementsByClassName('footer')[2] //mountNode
);

最好是动态地进行操作,因为我不知道这些多个相同的元素有多少.

It would be best if I can do it dynamically as I wouldn't know how many these multiple same elements are.

有可能吗?

var elementLength = document.getElementsByClassName("footer").length;
if (elementLength > 0) {
    for (var i = 0; i < elementLength; i++) {
        ReactDOM.render(
            <Footer source="./data/nav.json"/>,
            document.getElementsByClassName('footer')[i] //mountNode
        );
    }
}

它将多次调用./data/nav.json.

推荐答案

类似的东西(未经测试):

Something like (not tested):

Array.prototype.forEach.call(
  document.getElementsByClassName('footer'),
  function(el) {
    ReactDOM.render(
      <Footer source="./data/nav.json"/>,
      el
    )
  }
)

现已测试

这篇关于ReactDOM使用同一类渲染多个元素?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆