Reactjs 如何修复状态映射不是React Native中的函数?

Reactjs 如何修复状态映射不是React Native中的函数?,reactjs,react-native,Reactjs,React Native,我目前正在学习react native,并探索在列表视图中呈现api数据的过程。现在我已经有了api数据,但是当我尝试映射它所说的数组时 TypeError:this.state.readings.map不是函数。(在“this.state.readings.map(函数(值))中){ 返回console.log(值); })“,”this.state.readings.map“未定义) 以下是示例api: 在我的组件的内部安装: componentDidMount() { fe

我目前正在学习react native,并探索在列表视图中呈现api数据的过程。现在我已经有了api数据,但是当我尝试映射它所说的数组时

TypeError:this.state.readings.map不是函数。(在“this.state.readings.map(函数(值))中){ 返回console.log(值); })“,”this.state.readings.map“未定义)

以下是示例api:

在我的组件的内部安装:

componentDidMount() {
  
    fetch('http://myip:3000/api/readings/3')
    .then(response => response.json())
    .then(data => this.setState({readings:JSON.stringify(data)}))
}
我国:

this.state = {
  readings:[],
}
我的渲染:

render() {
    console.log(this.state.readings);
    return (
       
        {

            this.state.readings.map(value => {
                return (
                    console.log(value)
                )
            })

        }         
    )
}

我知道这是使用一个功能组件,但它将是相同的行为

问题可能在这方面
.then(data=>this.setState({readings:JSON.stringify(data)}))
编辑

如果this.state.reads的值为
[{“id”:1,“AccountNo”:“011-001”,“ConsName”:“Jenny Fox.”,“Address”:“Pacific Triad Road.”]

那么这个代码应该可以工作了

当您的数据加载异步时。您可以在映射它之前为this.state.reads添加检查

export default class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      readings: [
        {
          id: 1,
          AccountNo: "011-001",
          ConsName: "Jenny Fox.",
          Address: "Pacific Triad Road."
        }
      ]
    };
  }
  render() {
    return (
      this.state.readings.length &&
      this.state.readings.map((value) => {
        console.log(value);
        return <div>{value.Address}</div>;
      })
    );
  }
}
导出默认类App扩展React.Component{
建造师(道具){
超级(道具);
此.state={
阅读资料:[
{
id:1,
账号:“011-001”,
名字:“詹妮·福克斯。”,
地址:太平洋三合会道
}
]
};
}
render(){
返回(
这个。状态。读数。长度&&
this.state.readings.map((值)=>{
console.log(值);
返回{value.Address};
})
);
}
}

ref:

如果您可以将示例添加到代码沙盒中,这将有所帮助。@Mohammed我使用react native来实现这一点。我已经尝试了你的工作,但是它说文本字符串必须在一个组件中呈现。你是对的,我错过了这一点。试一下,看看这个works@Mohammed它表示错误:文本字符串必须在组件中呈现。未更改编辑,如果您可以在此应用程序上共享您的代码,那将很有帮助。让我尝试一下。这不起作用。@DevGe您想从映射中返回什么?能否显示this.state.reading的输出?是的,我想返回列表中的所有数据,但是我得到了错误类型错误:this.state.readings.map不是一个函数。(在“this.state.readings.map(函数(值){return console.log(值);})”中,“this.state.readings.map”是未定义的)这段代码可以工作