I have a list of dictionaries set as props
in my React
component, like so:
console.log(fruits): [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…} ]
The dicts:
0: name: 'Apple' color: 'Red' 1: name: 'Banana' color: 'Yellow' 2: name: 'Pear' color: 'Green' ....
And I need to display their NAMES in the rows, each row based on a respective fruit color:
class Basket extends Component { constructor(props) { super(props); this.state = { fruits:[], isLoaded:false }; } render() { const { fruits } = this.props; console.log(fruits) return ( <div className="app"> <div className="fruit-wrapper"> <div className="row"> <Fruit>Apple</Fruit> <Fruit>Red 2</Fruit> <Fruit>Red 3</Fruit> </div> <div className="row"> <Fruit>Banana</Fruit> <Fruit>Yellow 2</Fruit> <Fruit>Yellow 3</Fruit> </div> <div className="row"> <Fruit>Pear</Fruit> <Fruit>Green 1</Fruit> <Fruit>Green 2</Fruit> </div> </div> </div> </div> ); }
export default Basket;
How can I map fruit object values from this list os dicts and display fruit names assigning each name to its respective row color?
Advertisement
Answer
import React from "react"; function Fruit({ children }) { return <div>{children}</div>; } export default class Basket extends React.Component { state = { isLoaded: false }; render() { const { fruits } = this.props; return ( <div className="app"> <div className="fruit-wrapper"> {fruits.map(({ name, color }) => ( <div className="fruit-wrapper"> <Fruit>{name}</Fruit> <Fruit>{color} 2</Fruit> <Fruit>{color} 3</Fruit> </div> ))} </div> </div> ); } }