javascript - 用 map 打印 react 组件内的数字?

标签 javascript reactjs ecmascript-6

这可能很简单,但我似乎无法弄明白。如何在列表中按顺序打印数字?如果我打印索引,由于我的条件,一些数字将被跳过?我可以在我的条件内的 map 函数中的某处设置一个计数++,以便每次打印列表项时它都会增加吗?

export const MFAPaging = ({rootStore, page}) => {
  let count = 1;

  return (
    <div className="components-paging-brder">
      <div className="components-paging">
        <ul>
          {rootStore.mfaStore.links.map((item, index) =>
              item && item.includePage ? 
              <li className={page == index ? 'active' : ''} key={index}>{count}</li>
              : undefined 
            )}
        </ul>
        <MFAButtons rootStore={rootStore} page={page} />
    </div>
  </div>
  );
};

最佳答案

首先你可以过滤数组,然后你的索引在你的 .map 中会很酷(永远不要使用 .map 来过滤,你已经有内置函数)

{rootStore.mfaStore.links.filter((item)=> item && item.includePage).map((item, index) =>
    <li className={page == index ? 'active' : ''} key={index}>{count}</li>
)}

有问题评论:)

关于javascript - 用 map 打印 react 组件内的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59091467/

相关文章:

javascript - 获取当前单击的相对于元素的坐标

javascript 日期因时区而异

javascript - react 动态事件

javascript - 如何在 Javascript 中实现 map,其中值是一个类似于 Java 的字符串数组?

JavaScript 在类中使用 async/await

javascript - 如何在一个页面上播放不同的音频文件

javascript - 使用 Typescript 在 React JS 中禁用文本框

javascript - 输入句柄更改

javascript - 为什么我在这个简单的组件中遇到 Angular 编译错误

JavaScript - 用 async/await 替换 setTimeout