【发布时间】:2022-01-29 01:48:43
【问题描述】:
我正在尝试获取基于品牌的模型。但是选择下一个选项时出现错误
错误说 bikeBrand 不是函数
下面是从后端获取的 Json 数据
response from backend { BMW:["F900R", "F900XR"], KTM:["125 Duke", "250 Duke"]}
然后在 React 中使用 useState 钩子存储状态
const [bikeBrands, setBikeBrands] = useState("")
第一个选项值也存储在下面的钩子中
const [selectedBrand, setSelectedBrand] = useState("")
问题出在第二个选择选项中。
<select onChange={(e) => setSelectedBrand(e.target.value)}>
<option>Choose brand</option>
{Object.keys(bikeBrands).map((bikeBrand, index) => {
return <option>{bikeBrand}</option>
})}
</select>
<select onChange={(e) => setModel(e.target.value)}>
<option>Choose Model</option>
{Object.keys(bikeBrands).map((bikeBrand, index) => {
bikeBrand.map((brandModels, index) => {
return <option>{brandModels}</option>
})
})}
</select>
【问题讨论】:
-
您能粘贴您收到的实际错误吗?标题表明你得到的
map不是一个函数,但在你的身体里你说你得到的bikeBrands is not a function两者都有非常不同的含义。您为 bikeBrands 设置的默认状态是什么?它是像上面那样的空字符串吗?如果是这样,这个错误就是因为这个;.map()不是字符串上的函数,类似于错误状态。 -
bikeBrands.map 不是错误所说的函数。
标签: javascript reactjs selection map-function