React.js:JavaScript日期对象应该被当作道具还是状态?

时间:2020-02-12 18:33:26

标签: reactjs date react-props react-state

从React开始的每个人都有可能在道具和状态之间感到困惑。

有一个共同的区别,就是如果某个组件需要在某个时间点更改其属性之一,则应使用状态,否则应为道具。

我决定在页脚中实施版权保护日期。您可以在下面的示例中看到它:

numpy.where()

一开始我决定继续一个状态,但是现在我开始怀疑,这个小代码片段是否真的需要一个状态?如果是,我应该在哪里包含setState?我应该创建setInterval并使其每年更改还是应该通过道具传递它?

我只将起始年份或版权年度定为一个常数,并将当年更改时自动更新为当前年份。

1 个答案:

答案 0 :(得分:3)

我都不用:

const Footer = () => {
  const copyrightYear = new Date("2019").getFullYear();
  const currentYear = new Date().getFullYear();
  const year = currentYear === copyrightYear
    ? (
      <h3>
        Copyright &copy; {this.state.copyrightYear}. Company Name
      </h3>
    )
    : (
      <h3>
        Copyright &copy; {copyrightYear} - {currentYear}. Company Name
      </h3>
    )

  return (
    <footer className="footer">
      <div className="copyright">{year}</div>
    </footer>
  );
};

或者,您知道现在已经不是2019年了,所以您可以渲染

<footer className="footer">
  <div className="copyright">2019 - {new Date().getFullYear()}</div>
</footer>
相关问题