gpt4 book ai didi

json - 如何在 React 中将 JSON 响应呈现为下拉列表

转载 作者:行者123 更新时间:2023-12-03 16:05:00 26 4
gpt4 key购买 nike

我目前正在尝试获取一些我从 API 收到的 JSON 数据,并将其放入一个非常简单的 React 应用程序的下拉列表中。

到目前为止,这是我的 DropDown 组件:

import React from 'react';

var values;

fetch('http://localhost:8080/values')
.then(function(res) {
return res.json();
}).then(function(json) {
values = json;
console.log(values);
});

class DropDown extends React.Component {
render(){
return <div className="drop-down">
<p>I would like to render a dropdown here from the values object</p>
</div>;
}
}

export default DropDown;

任何我的 JSON 看起来像这样:
{  
"values":[
{
"id":0,
"name":"Jeff"
},
{
"id":1,
"name":"Joe"
},
{
"id":2,
"name":"John"
},
{
"id":3,
"name":"Billy"
},
{
"id":4,
"name":"Horace"
},
{
"id":5,
"name":"Greg"
}
]
}

我希望下拉选项与每个元素的“名称”相对应,并且在通过选择选项触发事件时将“id”用作元素标识符。任何有关将此数据放入响应用户输入的下拉列表的建议将不胜感激。

最佳答案

componentDidMount 中调用 API React 组件的生命周期函数,然后将响应保存在 state 中,然后呈现 Select 下拉列表

import React from 'react';

class DropDown extends React.Component {
state = {
values: []
}
componentDidMount() {
fetch('http://localhost:8080/values')
.then(function(res) {
return res.json();
}).then((json)=> {
this.setState({
values: json
})
});
}
render(){
return <div className="drop-down">
<p>I would like to render a dropdown here from the values object</p>
<select>{
this.state.values.map((obj) => {
return <option value={obj.id}>{obj.name}</option>
})
}</select>
</div>;
}
}

export default DropDown;

关于json - 如何在 React 中将 JSON 响应呈现为下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49033984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com