web-dev-qa-db-ja.com

TypeError:date.getHoursは関数ではありませんか?

私はこのエラーを受け続けます:

TypeError:date.getHoursは関数ではありません

.getHoursを使おうとすると、その理由がわかりません。これは私が使用しているコードです:

import React from "react";
import "../Nav/Nav.css";
import Date from "./Date";

function NavBar() {
  var date = new Date();
  var hrs = date.getHours();
  var greeting;

  if (hrs < 12) greeting = "Good Morning";
  else if (hrs >= 12 && hrs <= 17) greeting = "Good Afternoon";
  else if (hrs >= 17 && hrs <= 24) greeting = "Good Evening";

  return (
    <div className="nav-container">
        <p className="greeting">{greeting}</p>
        <Date />
    </div>
  );
}

export default NavBar;
2
Leslie T

dateをcomponentオブジェクトとして、DateをDateオブジェクトとして使用することはできません

どうか変更してください

import Date from "./Date";
 ...
<Date />

import Date as ObjDate from "./Date";
 ...
<ObjDate />
1
kelvin kantaria

問題を再現しようとしました。あなたの例からコードの一部をコピーして、これが結果です:

https://codepen.io/tural-ALi/pen/vYEeaRK

var date = new Date();
var hrs = date.getHours();
alert(hrs);

それは完全にうまくいきます。

つまり、インポートに関連するものです。

import Date from "./Date";

エラーの原因となる行です。このインポートのエイリアスを次のように作成してみてください:

import Date as DateObject from "./Date";
0
Tural Ali