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

164
Views
sending selected field to another react component

I am receiving my API data in react. I am sending same data to another component to download the excel file.

  const [data,setData] = useState([]);
  const fetchDataForExcel = async()=>{
        const {data}= await axios.get( env.resourceServerUrl+"/payment/data");
        setData(data);
       
    } 

I am sending this data to another component to create excel file.

 <div><ExportToExcel apiData={data} fileName={fileName} /></div>

actually my data containes many field like ID, SSN, Name etc. I want to send selected field from data , not all the field. what changes should I do?

about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

If you already know the name of the property on the object you want, then you should be able to send it with;

<div><ExportToExcel apiData={data.foo} fileName={fileName} /></div>

Alternatively, you could send the entire data object, then inside <ExportToExcel> you could access the property from the prop, eg/ props.apiData.foo. ( To me, the name "apiData" suggests all the data returned from an API not just a single property.)

about 4 years ago · Santiago Trujillo Report

0

Just create new obj with fields you need like this

<ExportToExcel 
  apiData={{ sheet1: data.sheet1, otherstuff: data.other }}
  fileName={fileName} 
/>

or better (if ExportToExcel is not provided by some library)

<ExportToExcel 
  sheet1={data.sheet1} 
  otherstuff={data.other}
  fileName={fileName} 
/>
about 4 years ago · Santiago Trujillo Report

0

Since you can't destructure data inside ExportToExcel component, you've got 2 options:

  1. If you'll just be using certain fields in data throughout, just destructure it inside fetchDataForExcel function, pass only those to setData.

    const fetchDataForExcel = async()=>{
       const {data}= await axios.get( env.resourceServerUrl+"/payment/data");
       const {field1, field2, field3} = data;
       setData({field1, field2, field3});
     } 
    

    Then just pass data directly

      <div><ExportToExcel apiData={data} fileName={fileName} /></div>
    
  2. Selectively pass the props:

     <div><ExportToExcel apiData={{field1: data.field1, field2: data.field2}} 
     fileName={fileName} /></div>
    

Let me know if it helps :)

about 4 years ago · Santiago Trujillo 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!