React中的内联函数没有运行

时间:2018-06-01 20:12:24

标签: javascript reactjs datetime time datetime-conversion

我正在尝试将格式化为24小时的时间字符串转换为12小时。为此,我创建了一个重新格式化然后渲染它的函数。但是,当我将函数内联像<span>{times && this.renderTime(times.StartTime)}</span>放在正确的位置时,没有任何运行。

但是,当我在测试按钮上放置相同的功能时,它将运行并记录我新格式化的文本。例如,15:413:41 PM

  renderTime = time => e => {
    const hours = time.split(':')[0];
    const minutes = time.split(':')[1];
    let currentTime;

    if (+hours === 0) currentTime = `12:${minutes} AM`;
    else if (+hours < 10 && +hours > 0) currentTime = `${hours.split('')[1]}:${minutes} AM`;
    else if (+hours <= 11 && +hours > 9) currentTime = `${hours}:${minutes} AM`;
    else if (+hours === 12) currentTime = `12:${minutes} PM`;
    else currentTime = `${hours-12}:${minutes} PM`;

    console.log(currentTime);

    return <p>{currentTime}</p>
  }

为什么此功能不会在文本

中运行

1 个答案:

答案 0 :(得分:2)

你的函数正在返回一个函数 - 更改

time => e =>

time =>