javascript - 可以乘以或连接 JSX 吗?

标签 javascript reactjs

我使用 React 和 Font Awesome 来创建一排星星。我有一个函数,它接受一个数字并产生那么多星星。我试图找到在 react 组件中执行此操作的最佳方法。基本上,我需要将 JSX 元素乘以一个数字,让它根据传入的内容动态重复:

reviewStars(num) {
    const star = <i className="fa fa-star" aria-hidden="true"></i>;
    const getStarCount = star.repeat(num);
    return getStarCount;
  };

如果 JSX 是一个字符串,这会起作用,但因为它不是,所以我不能对其调用 repeat(错误说 star 不是一个函数)。我可以将它用单引号括起来 '' 然后替换它们,但想知道是否有更好的处理方式?谢谢。

最佳答案

尝试这样的事情:

reviewStars(num) {
  let stars = [];
  for(let i= 0; i < num; i++) {
    stars.push(<i key={i} className="fa fa-star" aria-hidden="true"></i>);
  }
  return (
    <div>{stars}</div>
  );
};

编辑: 记得将键添加到列表中

关于javascript - 可以乘以或连接 JSX 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38001569/

相关文章:

javascript - 向插件添加属性(不是默认方式)

javascript - <ul> 上的 jQuery .appendTo() 适用于所有 <ul> 而不是指定的 <ul>

reactjs - axios 中的 GraphQL post 请求

javascript - webpack 不生成 bundle.js

javascript - 使用 react-hooks-testing-library 在 React Hooks 中模拟 Axios

javascript - Squire.js 在使用商店时不替换假依赖

javascript - 在 JS 中向现有变量添加一些文本

javascript - 将页面正文发送到另一台服务器?

javascript - react 和 Jest : Cannot find module from test file

javascript - 如何为特定行添加自定义单击处理程序