Я работаю над созданием веб-приложения с использованием reactJS. Мы должны отображать продукт, на который подписались пользователи. Количество продуктов, на которые подписывается каждый пользователь, различается. Например, вот ответ:
{
"data" : [
{
"user": "user1",
"subscriptions":
{
"user1_product_1" : 20,
"user1_product_2": 25
}
},
{
"user": "user2",
"subscriptions": {
"user2_product_1": 30,
"user2_product_2": 25,
"user2_product_3": 50,
"user2_product_4": 50
}
}
]
}
Таким образом, данные подписки являются динамическими. Как я могу отобразить приведенные выше данные в табличных данных следующим образом: Макет Пользователь может подписаться на любое количество продуктов. На данный момент у нас нет пользователей, которые подписались более чем на 4 продукта.
Прежде всего, ваши данные беспорядочны и не имеют правильной структуры. сначала исправьте это, а затем это может вам помочь:
let data = [
{
user: "user1",
subscriptions: {
user1_product_1: 20,
user1_product_2: 25,
},
},
{
user: "user2",
subscriptions: {
user2_product_1: 30,
user2_product_2: 25,
user2_product_3: 50,
user2_product_4: 50,
},
},
];
const TabularData = (props) => (
<table>
{props.data.map((user) => (
<tr>
{Object.keys(user.subscriptions).map((user_product) => (
<td>{user.subscriptions[user_product]}</td>
))}
</tr>
))}
</table>
);