可以肯定的是我缺少一些简单的东西,但是这段代码让我大吃一惊。
我在本地dat = data.frame(a=c("Jan","Apr","Oct")
monthlist = rep(c("Q1",'Q2','Q3','Q4'),each = 3)
names(monthlist) = month.abb
dat$quarters = monthlist[dat$a]
文件中有一个array
,是
json
并导入为React组件
{
"type": [
{
"name": "Accommodation",
"icon": "",
"subcategory": [
"Hotels",
"Motels",
"Bed & Breakfasts"
]
},
{
"name": "Guided Tours",
"icon": "",
"subcategory": [
"Audio & Self Guided",
"Cruises, Sailing & Water",
"Food, Wine & Nightlife"
]
}
]
}
然后我在import { type } from './assets/json/company-type.json';
的{{1}}中使用filter
(基于name
或companyType
的{{1}}值。在我将返回的项目映射到select
和Accommodation
Guided Tours
但是,什么也没有返回。但是,如果我map
subcategory
,我将在控制台中将每个返回。我想念什么?
答案 0 :(得分:1)
这是因为您没有从.map()方法返回。 使用此修改后的代码,它将按预期工作
<ul>
{type
.filter(item => {
return item.name === "Accommodation";
})
.map(item => {
return item.subcategory.map(subcategory => {
return (
<li key={subcategory}>
<label id={subcategory} htmlFor={subcategory}>
<input
type="radio"
name={subcategory}
value={subcategory}
/>
<span />
{subcategory}
</label>
</li>
);
});
})}
</ul>
codeSandbox链接:https://codesandbox.io/s/4881483j7x