You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React组件问题:根据文章阅读时长显示对应数量表情符号

解决React阅读时长表情生成问题

核心逻辑梳理

要实现对应数量的表情展示,关键是根据时长区间计算需要重复的表情次数:

  • 当阅读时长<30分钟:用Math.ceil(minutes / 5)计算咖啡杯☕️的数量(向上取整)
  • 当阅读时长≥30分钟:用Math.ceil(minutes / 10)计算便当盒🍱的数量(向上取整)
  • 最后将表情重复对应次数,拼接时长文本即可

修改后的React组件代码

import React from 'react';

const ReadTimeIndicator = ({ minutes }) => {
  let emoji;
  let count;

  if (minutes < 30) {
    emoji = '☕️';
    count = Math.ceil(minutes / 5);
  } else {
    emoji = '🍱';
    count = Math.ceil(minutes / 10);
  }

  // 生成重复的表情字符串
  const emojiString = emoji.repeat(count);

  return (
    <span>{emojiString} {minutes} min read</span>
  );
};

// 测试代码:遍历测试数组渲染组件
const App = () => {
  const testDurations = [5, 15, 47];
  return (
    <div>
      {testDurations.map((duration) => (
        <ReadTimeIndicator key={duration} minutes={duration} />
      ))}
    </div>
  );
};

export default App;

测试效果

针对测试数组[5,15,47],渲染结果如下:

  • 5分钟:☕️ 5 min read
  • 15分钟:☕️☕️☕️ 15 min read
  • 47分钟:🍱🍱🍱🍱🍱 47 min read

内容的提问来源于stack exchange,提问作者Davi3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 11:15:42