Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Are there other reasons why useEffect might not be defined apart from not importing it?

+4
−0

I am creating a button that once clicked will change from off to on with react and i am also creating a responsive clock through useEffect.

Yet the code still return that useEffect is undefined though i imported useState.

import {useState} from 'react';
import "./styles.css";
export default function App() {
  let [PresentState, setPresentState] = useState(false);
  let [time, seTime] = useState("00:00:00");
  function toggleState() {
    setPresentState((prevState) => !prevState);
  }
  function getTime() {
    return new Date().getTime();
  }

  useEffect(() => {
    setTime(getTime());
    console.log();
    return () => {};
  },[]);
  return (
    <div className="app">
      <button onClick={toggleState} className="btn">
        {PresentState ? "On" : "Off"}
      </button>
      <time>00:00:00</time>
    </div>
  );
}
History
Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

0 comment threads

2 answers

+4
−0

Including the full file in the question

The question states that useState has been imported, but the codeblock does not include import { useState } from 'react';. Is this the full file or just an excerpt? It may be difficult to say for certain what is wrong from an excerpt, if the problem turns out to be in part of the code that was not included.

Possible typo in the code

The 4th line in the codeblock defines a state variable and an update function:

  let [time, seTime] = useState("00:00:00");

The 13th line in the codeblock calls a function that has not been defined:

    setTime(getTime());

Are seTime and setTime intended to be the same function? Is one of them a typo?

Helping to keep the code readable

As setTime is also a built in JavaScript method, it may help to choose a different name to avoid the conflict.

Using setTime as both a function and a method will not cause any errors, but may make the code misleading to someone reading it. It could be particularly confusing in this specific case because getTime has been made an alias of new Date().getTime() but setTime is not an alias of Date().setTime().

History
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

+2
−0

You need import all functions from the React library that you use. Add import {useEffect, useState} from 'react' to your file.

History
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

Sign up to answer this question »