【发布时间】:2021-03-21 03:15:11
【问题描述】:
我在使用 Hooks 过滤 React Typescript 中的 json 时遇到问题。 我有一个来自 fetch 的 JSON,它看起来像这样:
[
{
"dealer 1":
[
{
"name": "SERVICE 1"
"city": "NORTH CANTON"
"phone": "3306596372"
"isOpen": "true"
},
{
"name": "SERVICE 2"
"city": "OHIO"
"phone": "3306596372"
"isOpen": "true"
}
]
},
{
"dealer 2":
[
{
"name": "SERVICE A"
"city": "WASHINGTON"
"phone": "3306596375"
"isOpen": "true"
},
{
"name": "SERVICE B"
"city": "SEATTLE"
"phone": "3306596376"
"isOpen": "true"
}
]
}
]
我获取 api 的代码是:
useEffect(() => {
axios.get("API URL here")
.then(res => {
console.log(res)
setCTSN(res.data)
});
}, []);
我想返回所有开放的经销商,所以我需要通过“isOpen=true”过滤它
const isOpen = 'true'
const result = OPEN
.map(item => ({
...item, //Spread types may only be created from object types.ts(2698)
children: item.children
.filter(child => child.value.includes(isOpen.toLowerCase()))
}))
.filter(item => item.children.length > 0)
console.log(result)
但是我在“...item”中遇到了一个错误,我不确定我在 React Typescript 中是否正确。
有人可以帮我吗?
【问题讨论】:
标签: javascript reactjs typescript react-native react-typescript