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

183
Views
todos.unshift no es una función

Cuando intento agregar al comienzo de una matriz en React Native, aparece el siguiente error:

 TypeError: todos.unshift is not a function. (In 'todos.unshift(newTodo)', 'todos.unshift' is undefined)

Mi código es:

 export default function App() { const [todos, setTodos] = useState(['Hello']); const [todo, setTodo] = useState(''); function addItem(newTodo) { console.log(newTodo); setTodos(todos.unshift(newTodo)); } return ( <TouchableWithoutFeedback onPress={() => { Keyboard.dismiss(); }} > <View style={styles.container}> <TextInput placeholder='new todo' style={styles.input} value={todo} onChangeText={(text) => { setTodo(text); }} ></TextInput> <Button title='Add' onPress={()=>addItem(todo)}></Button> </View> </TouchableWithoutFeedback> ); }

Por qué está pasando esto . ¿useState no aplica el tipo de todos como una matriz?

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

0

El método 'unshift' no devuelve una matriz modificada. Puedes ver cómo funciona aquí .

y no se recomienda mutar el estado sin el método setState porque en ese caso React no puede detectar el cambio.

puede usar setTodos(arr => [newTodo, ...arr]) en su lugar.

about 4 years ago · Juan Pablo Isaza Report

0

también puede probar esto ya que el método de matriz 'unshift' no devuelve una matriz modificada.

Primero clone el estado usando el operador de propagación y luego actualice el estado.

 function addItem(newTodo) { let arrayToUpdate = [...todos]; arrayToUpdate.unshift(newTodo); setTodos(arrayToUpdate); }
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!