Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

463
Views
La función de envío de UseReducer arroja un error inesperado: se esperaban 0 argumentos, pero se obtuvo 1

No pude encontrar ninguna respuesta relacionada, la única estaba relacionada directamente con Redux, por lo que hice una pregunta que puede parecer obvia para algunos de ustedes. En cuanto a mi código, parece que todo es correcto, pero tengo problemas con el siguiente error: se esperaban 0 argumentos, pero obtuve 1

Código:

 // An enum with all the types of actions to use in our reducer enum ActionType { INCREASE = 'INCREASE', } // An interface for our actions interface Action { types: ActionType; payload: number; } // An interface for our state interface allState { playersNumber: number, playerData: string } const reducer : any = (state : allState, action : Action) => { switch (action.types) { case ActionType.INCREASE: return { playersNumber: state.playersNumber + 5} } } const initialState = { playersNumber : 0, playerData: "" } const App : FC<any> = () => { const [responseData , setResponseData] = useState<Array<object>>([]); const [state, dispatch] = useReducer(reducer, initialState); // Fetching data with Axios const fetchingData = async () => { const response = await axios.get<Array<object>>('http://localhost:3006/lfy'); setResponseData(response.data); console.log(response.data.length); dispatch({type: ActionType.INCREASE}) } useEffect(() => { fetchingData(); }, []); return ( <Routes> {console.log(state)} <Route path="/" element={<Home />} /> </Routes> ); } export default App;

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

¡Estás ahí! Solo hay algunas cosas que arreglar. Primero, debe eliminar el tipo cualquiera del reductor y devolver siempre el estado completo dentro de la función:

 const reducer = (state : allState, action : Action) => { switch (action.types) { case ActionType.INCREASE: return {...state, playersNumber: state.playersNumber + 5}; // use the shallow copy for the state so you make sure to not replace it completely default: return state; } }

En última instancia, cuando llama al despacho, escribió tipo en lugar de tipos y tampoco pasó la carga útil. Si la carga útil es opcional, debe configurarla como opcional en la interfaz:

 interface Action { types: ActionType; payload?: number; // note the question mark }
 dispatch({types: ActionType.INCREASE});
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!