Search code examples
javascriptreactjsdarkmode

why there is error when set function in function's arguments?


I want to set function in function's arguments like this:

export const Mode = (mode, setMode) => {

  mode == "dark" ? setMode("light") : setMode("dark")

}

and result was setMode is not a funtion


Solution

  • import React, { useState } from 'react';
    const MyComponent = () => {
      const [mode, setMode] = useState("light");
      const toggleMode = (currentMode) => {
      if (currentMode === "dark") {
        setMode("light");
      } else {
        setMode("dark");
      }
    }
      return (
        <div>
          <p>Current mode is: {mode}</p>
          <button onClick={() => toggleMode(mode)}>Toggle Mode</button>
        </div>
      );
    };