如何解决如何使用 states.map 函数显示下拉列表?
在左图中,我们在 stateList 函数中获取 API。我们从 loadstates 函数中的 API 获得的响应,我们正在存储该 setstates 变量。
在右侧图像中,我们尝试使用 states.map 显示值,其中状态是数组,我们以数组形式存储响应数据。
我们仍然收到以下错误:
类型错误:states.map 不是函数
后端在 Node js 中,前端在 react js 中
解决方法
使用 React 钩子,您不会通过直接与状态交互来改变状态。因此 states.push
行不是一个好习惯,您必须仅使用 setStates
来更改您的状态。
由于您正在尝试创建一个对象数组,每个对象都带有 name
和 value
,并且假设从后端返回的 data
是一个对象,您可以执行以下操作:
stateList().then(data => {
// Object.entries will transform your object into an array,with key value pairs
const newState = Object.entries(data)
setStates(newState)
})
现在您可以映射 states
,因为它是一个数组。
关键在于:始终使用 setState
钩子改变您的状态
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。