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

163
Views
Gancho Reaccionar UseState()
  • Pasé un accesorio a un componente secundario.
  • El accesorio envía un objeto al componente secundario.
  • En el componente secundario tengo una matriz de objetos.
  • Luego uso el objeto prop pasado y lo recorro bajo ciertas condiciones.
  • Cuando se cumple esa condición, realizo algunos cambios en la matriz de objetos presente en el componente secundario.

Ahora quiero usar useState de manera que cuando se realicen los cambios en la matriz de objetos en el accesorio secundario, quiero que estos cambios se agreguen sobre su versión anterior en lugar de una nueva matriz de objetos que solo muestre los cambios realizados. .

 const filteredExpenses = expenses.filter( (expense) => { return expense.date.getFullYear().toString() === filteredYear }); return( <> <NewExpense onAddExpense = {addExpenseHander}/> <Filter selected={filteredYear} onRecieveData={publishData} selectedMonth={monthlyCost} expenses={filteredExpenses}/>

El código anterior pasa el accesorio al componente secundario llamado Filter

El siguiente código es del componente secundario que recibe el accesorio.

 export default function Filter(props){ const recieveClick = (data) => { props.onRecieveData(data);} const chartDataPoints = [ {label:'Jan', value:0}, {label:'Feb', value:0}, {label:'Mar', value:0}, {label:'Apr', value:0}, {label:'May', value:0}, {label:'June', value:0}, {label:'Jul', value:0}, {label:'Aug', value:0}, {label:'Sep', value:0}, {label:'Oct', value:0}, {label:'Nov', value:0}, {label:'Dec', value:0}, ] const [data, setData] = useState(chartDataPoints) for (const expense of props.expenses){ const expenseMonth = expense.date.getMonth();// it gives the month in index; chartDataPoints[expenseMonth].value += expense.amount //we use the index of month from above statement } return( <> <div className="Filter-container"> <div className="Filter-container-top"> <h3 className="Filter-container-h3">Filter By Year</h3> <Drop onRecieveClick = {recieveClick} selectedOne={props.selected}/> </div> <div className="Filter-container-bottom"> <Chart dataPoints={chartDataPoints} initialExpense={props.expenses}/> </div> </div> </> ) }
about 4 years ago · Santiago Gelvez
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!