我几个月前开始了我的学习道路(html,css,js(,我有一个问题,我有反应(刚刚开始学习(。
我有一个错误说:data.map不是一个函数
我想用map遍历我的对象数组,并为每个循环将道具(标题、答案(分配给子对象,以列出不同的FaqComponent,每个FaqComponent都有{title和answer}
const data = useSelector(state => ({
...state.homePage.list
}))
console.log(data);
return (
<div>
{data.map((title, answer) => (
<FaqComponent
title={title}
answer={answer}
/>
))}
</div>
);
}
export default ...;
感谢您的回复
您使用的是对象{}
,而不是数组[]
语法。
试用:
const data = useSelector(state => ([
...state.homePage.list
]));
您应该声明"数据";s类型,如果它是一个数组,那么你的函数应该是这样的:
const data = useSelector(state => ([
...state.homePage.list
]))
console.log(data);
return (
<div>
{(data && data.length > 0) ? data.map((item, i) => (
<FaqComponent
title={item.title}
answer={item.answer}
key={i}
/>))
: <div>No Result!...</div>}
</div>
);
}
export default ...;