This is my dispatch function:
DispatchRecipeID.js
import { useDispatch } from "react-redux";
import { UpdateRecipeID } from "../store/action/recipeId";
const DispatchRecipeID = (id) => {
const dispatch = useDispatch(); // dispatch
dispatch(UpdateRecipeID(id));
};
export default DispatchRecipeID;
Now I am use this DispatchRecipeID() function in another React JS file.
Navbar.js
import React, { useState } from "react";
import DispatchRecipeID from "../../middleware/DispatchRecipeID";
const Navbar = () => {
// inputbox value
const [input, setInput] = useState("");
// get search item info from inputID. using inputID.id
const [inputID, setInputID] = useState(null);
// search function
const dispatchRecipeID = ()=>{
if(input !== "" && input !== null ){
DispatchRecipeID(inputID.id)
}
return
}
// ....... some code
return(
<div>
<input type="text" value={input} onChange={(event,value)=>{ setInputID(value) }} />
<button onClick={dispatchRecipeID(input)} >Search</button>
</div>
)
}
export default Navbar;
But I get error:
Error: Invalid hook call. Hooks can only be called inside of the body of a function component.
Full Error Here:
react-dom.development.js:14906 Uncaught Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
- You might have mismatching versions of React and the renderer (such as React DOM)
- You might be breaking the Rules of Hooks
- You might have more than one copy of React in the same app See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem. at Object.throwInvalidHookError (react-dom.development.js:14906:1) at useContext (react.development.js:1504:1) at useReduxContext (useReduxContext.js:21:1) at useStore (useStore.js:20:1) at useDispatch (useDispatch.js:17:1) at DispatchRecipeID (DispatchRecipeID.js:6:1) at searchFunc (Navbar.js:71:1) at HTMLUnknownElement.callCallback (react-dom.development.js:3945:1) at Object.invokeGuardedCallbackDev (react-dom.development.js:3994:1) at invokeGuardedCallback (react-dom.development.js:4056:1)
How to fix this error? And I want use DispatchRecipeID() function at "3 or 4 JS" files like as Navbar.js
please help me, and thanks :)

Call Hooks from React function components..Call Hooks from custom Hooks. reactjs.org/docs/hooks-rules.html