Дані є у такій формі:
_getTags() {
console.log(this.props.tagsview);
return this.props.tagsview.map(tags => {
var newItem = tags.map(p => <span className="tag" key={p.tag_id}>{p.name}</span>);
return ({newItem);
});
}
Тож коли я це запускаю, отримую:
помилка реагує.js: 18893 Неприхована помилка: Об'єкти недійсні як дитина-реагувач (знайдено: об'єкт з ключами {newItem}). Якщо ви мали намір надати колекцію дітей, використовуйте масив замість цього або оберніть об'єкт, використовуючи createFragment (об’єкт) із доповнень React. (…)
Що мені не вистачає?
Чи є інший шлях?
Відповіді:
0 для відповіді № 1тут є два питання .. один полягає в тому, що ви повертаєте вкладений список [[]] Я думаю, ви, напевно, хотіли повернути лише один список []. ви також повертаєтеся {newItem} зі своєї функції зовнішньої карти. Це не може реагувати React. Для реагування потрібен елемент реагування або список реагуючих елементів.
ти мав на увазі зробити:
return this.props.tagsview.map(tags => {
return tags.map(p => <span className="tag" key={p.tag_id}>{p.name}</span>);
});
або можливо
this.props.tagsview
.reduce((tags, view) => [...tags, ...view.map(t =><span className="tag" key={p.tag_id}>{p.name}</span>)], [])