#javascript #reactjs
#javascript #reactjs
Вопрос:
У меня есть список словарей, установленных как props
в моем React
компоненте, например:
console.log(fruits): [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…} ]
Диктует:
0:
name: 'Apple'
color: 'Red'
1:
name: 'Banana'
color: 'Yellow'
2:
name: 'Pear'
color: 'Green'
....
И мне нужно отобразить их ИМЕНА в строках, каждая строка на основе соответствующего фруктового цвета:
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>
);
}
экспорт корзины по умолчанию;
Как я могу сопоставить значения объектов fruit из этого списка, определяемого ОС, и отобразить названия фруктов, присвоив каждому имени соответствующий цвет строки?
Комментарии:
1. Зачем вам нужны
Yellow 2
Yellow 3
ячейки и?2. потому что для каждого есть три значения. это просто фиктивное имя
3. Я обновил изолированную среду и использовал структуру компонентов класса
Ответ №1:
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>
);
}
}
Комментарии:
1. Спасибо. но можете ли вы сохранить компонент <Fruit/> ? отличается ли это от сопоставления с <div> ?
2. важно сохранить структуру. обратите внимание на
<div className='fruit-wrapper'
3. извините, ваше решение не работает для меня. Я не могу преобразовать фактор из состояния в компонент без состояния. Если вы хотите предложить решение, основанное на моей первоначальной структуре, я приму его.
4. пожалуйста, обратитесь к моей правке. когда я добавляю ваши две функции, я получаю:
Line 52:12: Parsing error: Unexpected token
5. разве в функциях не отсутствуют стрелки?