javascript - 在 React HOC 中渲染数组中的对象
问题描述
我有以下反应类:
import React from 'react';
import { withTranslation, WithTranslation } from 'react-i18next';
interface State {
payouts: any;
}
interface Props extends WithTranslation {}
class Payout extends React.Component<Props, State> {
constructor(props: Props) {
super(props);
this.state = {
payouts: [
{id: 'PO_3', owner: 'OWNER1', amount: 89},
{id: 'PO_3', owner: 'OWNER2', amount: 150},
{id: 'PO_4', owner: 'OWNER3', amount: 135}
]
};
}
render() {
return (
<div>
{
this.state.payouts.map((payout:any) => (
Object.entries(payout).map((val: any)=> (
<li>{val.id} - {val.owner} - {val.amount}</li>
))
))
}
</div>
);
}
}
export default withTranslation()(Payout);
我正在尝试将我的状态呈现为一个<li>
元素,但我确实得到了显示的任何数据。
payouts: object[]
界面也正确吗?
解决方案
我确实得到了显示的任何数据
调用Object.entries
将为您提供以下返回值:
console.log(Object.entries({id: 'PO_4', owner: 'OWNER3', amount: 135}))
它是一个包含属性名称和值的数组数组。当然,这些数组没有id
,owner
或amount
属性。
你不想要这些。payout
已经是您要访问的对象。只需删除该调用:
return (
<div>
{
this.state.payouts.map((payout:any) => (
<li>{payout.id} - {payout.owner} - {payout.amount}</li>
))
}
</div>
);
推荐阅读
- kotlin - 是否可以在 Kotlin 中使安全内联可选?
- python - 如何生成弯曲的文本
- javascript - 获取复选框值并使用它们作为搜索参数创建 window.location URL
- templates - Go 模板不能与 if 和 range 一起正常工作
- javascript - 无法在更改时更新项目 - React Native
- python - 如何将用户输入的数字转换为python中的列表?就像用户输入 56989 一样,我希望这些数字分别在列表中{5,6,9,8,9}
- python - 在 pandas DataFrame 上应用函数,2 个循环,其中外循环是轴 = 1,内循环是轴 = 0
- java - 购买后如何移除按钮
- angular - Ionic Barcode Scanner 插件关闭按钮
- php - PHP PDOStatement::execute(): SQLSTATE[HY093]