Facebook Pixel

Even or odd

React.js
easy
30 mins

Create a React component that allows users to input a number and checks whether the number is even or odd. The component displays the result with a 1-second loading delay and handles invalid inputs.

Requirements

  • A user can enter a number in an input field.
    • The input box should have a placeholder "Enter a number"
  • A button is provided to initiate the check.
  • Upon clicking the button:
    • Any previous result should be cleared immediately.
    • A loading indicator should appear for 1 second to simulate processing.
    • In that one second a label "Checking..." should appear in the reasult-area.
    • After the delay, the result should display in the format:
      • "The number X is even."
      • "The number X is odd."
  • If the input is empty or not a valid number:
    • Show a clear error message such as: "Please enter a valid number."

Edge Cases & Constraints

  • Non-numeric input should display "Please enter a valid number."
  • Empty input should be handled gracefully.
  • Leading/trailing spaces should be ignored.
  • Large numbers should be processed correctly
  • Loading message "Checking..." should be shown before result.
  • The result display must only appear after loading completes.

Example Inputs & Outputs

// Example 1: Even number Input: "4" Output: "The number 4 is even." // Example 2: Odd number Input: "5" Output: "The number 5 is odd." // Example 3: Invalid input Input: "abc" Output: "Please enter a valid number."

Data Test IDs (required for testing):

  • data-testid="number-input": The input field for entering number
  • data-testid="check-button": The button to trigger checking with the text "check"
  • data-testid="loading": Element showing loading text
  • data-testid="result": Element displaying the result or error message

Reference UI

evenOrOdd

Preview what you need to build

Companies:

adobe
amazon

Solve Similar questions 🔥

Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.