반응 선택을 사용하고 있는데 표시해야하는 옵션을 하드 코딩하고 싶지는 않지만 옵션은 API에서 가져 오는 데이터입니다. 나는 아무것도 찾을 수 없으며 내가하려고하는 것은 아무 것도 보이지 않기 때문에 효과가 없다. 누구? 감사!!!React Select - 하드 코딩 옵션 대신 API 호출에서 데이터를 표시/반복하는 방법?
api.js :
export function availableCities() {
return axios.get('/cities').then(function (response) {
return response.data;
})
}
요소 :
import Select from 'react-select';
import {availableCities} from '../utils/api.js';
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
selectedOption: '',
clearable: true,
cities: [],
}
}
componentDidMount() {
availableCities()
.then(res => {
this.setState({
cities: res.Cities.name
})
console.log("hello", this.state.cities)
})
}
handleChange(selectedOption) {
this.setState({selectedOption});
}
render(){
let options = this.state.cities.map(function (city) {
return city.name;
})
return (
<div>
<Select
name="form-field-name"
value={this.state.value}
onChange={this.handleChange}
clearable={this.state.clearable}
searchable={this.state.searchable}
options={options}
/>
</div>
)
}
}
데이터 (this.state.cities 개체 배열이고 같다 : 여기
{code: "LTS", name: "Altus", countryCode: "US", countryName: "United States", regionName: "North America", …}
...
'cities : res.Cities.name'을 지정합니다. 이게 맞습니까? 또는'cities : res.Cities'? –
예, 미안 도시 여야합니다 : res.Cities – javascripting