【发布时间】:2019-06-17 11:23:45
【问题描述】:
我正在尝试映射一些值,但不断收到有关 map 函数的错误。当我尝试将 const 分配为等于状态时,它变得未定义。我在控制台中记录了状态,然后返回结果:
species: Array(3)
0: {species_ID: 1, species: "Dog"}
1: {species_ID: 2, species: "Cat"}
2: {species_ID: 3, species: "Hamster"}
length: 3
但是当我尝试将它分配给渲染方法中的 const 时,记录控制台给了我未定义的信息。
我已经尝试直接在 map 方法中映射状态以避免这一步,但是得到关于 map 不是函数的错误。
{this.state.species && this.state.species.map (speciestype => {
return (
<option key={speciestype.species_ID} value={speciestype.species_ID}>
{speciestype.species}
</option>
)}
)}
这是当前代码的样子:
render() {
const {speciesdata} = this.state.species;
console.log(speciesdata);
return (
我的地图功能如下所示:
{speciesdata && speciesdata.map (speciestype => {
return (
<option key={speciestype.species_ID} value={speciestype.species_ID}>
{speciestype.species}
</option>
)}
)}
但由于 speciesdata 未定义(根据控制台),下拉列表为空。
为什么我不能将物种数据分配给我知道存在的状态?
【问题讨论】: