我正在开发一个反应应用程序,我正面临一个问题,所以如果有人可以,我真的很感激一些帮助。
我按日期对数据进行分组,我有一个对象,其中包含此格式{dd/mm/yyyy:[data,data], dd/mm/yyyy:[data,data]}
的数据。
所以我在for循环中循环遍历对象然后一个map循环遍历数组然后渲染它们,但它似乎停止渲染第一个键值对,我假设这是因为在地图之前的return语句,但渲染函数似乎没有它。
这是我的代码,非常感谢任何帮助。
谢谢!
export default class ExpenseMain extends React.Component{
renderStuff(){
var expenses = this.props.expenses
if(Object.keys(expenses).length > 0){
for(var key in expenses){
return expenses[key].map((ele,i)=>{
return (
<div
className = "expensesLoop"
key = {i}>
<ExpenseItem
expense = { ele }
removeExpense = { this.props.removeExpense }
updateExpense = { this.props.updateExpense }
/>
<hr/>
</div>
)
})
}
}
}
render(){
return <div>{this.renderStuff()} </div>
}
}
答案 0 :(得分:0)
for
不会返回任何内容。因此,结果将是undefined
。
尝试使用Object.keys().map
:
Object.keys(expenses).map(key => {
return expenses[key].map((ele,i)=>{
return (
<div
className = "expensesLoop"
key = {i}>
<ExpenseItem
expense = { ele }
removeExpense = { this.props.removeExpense }
updateExpense = { this.props.updateExpense }
/>
<hr/>
</div>
)
})
}