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

165
Views
Dynamic component using react json
// JSON data is formed in this format. 
 chart:   
   functionalInfo: Array(5)   
      0:  seedShapeDisplayText // one 
         materialsInfo: Array(1)  
         0:  
            igredientsInfo: Array(1)  
            0:  
             chartStatus: "minsu" 
             ingredientDisplayText:1
         
     1:  seedShapeDisplayText // two 
          materialsInfo: Array(1)  
         0:  
            igredientsInfo: Array(1)  
        
            1:
             chartStatus: "Jeeny"
             ingredientDisplayText:3
             ...

It seems like it would be easy, but I don't know

{Info.seedShapeDisplayText} -> one two three four ..
one onClick <div> Hi Number Minsu, Bar : 1 </div>
two onClick <div> Hi Number Jenny, Bar : 3 </div>

In summary, when 'one li tag text' is clicked, the div will output '{NumberStatus}' value corresponding to 'one text', and {functionInfolabels} corresponding value.

Click on the first button I want to print the first array values ​​Minsu and 1. How would you like to write code?

let functionInfolabels = ProductDetail && ProductDetail.chart?.functionalsInfo?.[0].materialsInfo?.[0].ingredientsInfo?.map(array => array.ingredientDisplayText);
console.log(functionInfolabels) // Array( 1,3,124 ..)

let NumberStatus = ProductDetail && ProductDetail.chart?.functionalsInfo?.[0].materialsInfo?.[0].ingredientsInfo?.map(array => array.chartStatus) 
console.log(NumberStatus) // Array ( Minsu, Jenny, Youngmin, ...)    


return (
          {ProductDetail && ProductDetail.chart?.functionalsInfo?.length ? 
            ProductDetail.chart?.functionalsInfo.map(Info => (
            <li key={Info.id}>{Info.seedShapeDisplayText}</li>
            )) : <li>There is not</li>}

// {Info.seedShapeDisplayText} -> one two three four .. 
// one onClick <div> Hi Number Minsu, Bar : 1 </div>
// two onClick <div> Hi Number Jenny, Bar : 3 </div>
....
<div>
Hi Number {NumberStatus} //  Minsu, Jenny,  Youngmin,  Jiho ...

<Bar 
labels={functionInfolabels} // 1,  3, 124 .... 
/>
</div>


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

0

Maintain state variable for selected and then on click you can show required content for selection.

const Component = () => {
  let functionInfolabels = [1, 3, 124];
  let NumberStatus = ["Minsu", "Jenny", "Youngmin"];
  const [selected, setSelected] = React.useState(-1);

  return (
    <div>
      {selected > -1 ? (
        <div>{`Hi Number ${NumberStatus[selected]}, Bar : ${functionInfolabels[selected]}`}</div>
      ) : (
        <div>Not selected</div>
      )}
      <div style={{ border: "1px solid lightgrey" }}></div>
      {functionInfolabels.map((label, i) => (
        <div key={label} onClick={() => setSelected(i)}>
          {label}
        </div>
      ))}
    </div>
  );
};

ReactDOM.render(<Component />, document.getElementById("app"));
<script crossorigin src="https://unpkg.com/react@17/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script>

<div id="app"></div>

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!