gpt4 book ai didi

reactjs - 如何在 React-native 中循环数据数组?

转载 作者:行者123 更新时间:2023-12-03 13:56:37 26 4
gpt4 key购买 nike

使用了map函数,但它在console.log上返回无限循环,并且我无法渲染返回的行,jsx也尝试了foreach,但没有帮助。无法渲染jsx中的数据。即使在循环内也可以控制台记录数据。但不在渲染 jsx 上。

import React, { Component } from 'react';
import { TouchableOpacity,DrawerLayoutAndroid,Picker,ListView } from 'react-native';
import { Container, Header, Title, Content,List, ListItem, Text, Button, Icon,InputGroup, Input,View } from 'native-base';
import { Col, Row, Grid } from 'react-native-easy-grid';
import { Actions } from 'react-native-router-flux';
import axios from 'axios';
import styles from '../styles/homestyle';
export default class Home extends Component {

constructor(props) {

super(props);

this.state = {
user_namez : "",
user_pazz : "",
};
}
student_data(){

axios.get('http://192.168.0.108/easy_backend/app/app_db/stud_data')

.then((response) => {

let respdata = response.data ;

list.respdata(function(y){

return(<Text>{y.prnt_usernamez}</Text>);

});

});

}

render() {

return (

<View>

{this.student_data()}

</View>
)

}



}

最佳答案

student_data() 不返回任何内容。因此,student_data() 永远不会呈现任何内容。

对于异步调用,您必须使用componentDidMount()

  • 在 Home state 中添加节点 response: [],,
  • 将其填充到 componentDidMount() 函数中
  • 然后在 render() 方法中的 this.state.response 上循环

类似于:

    export default class Home extends Component {
constructor(props) {
super(props);

this.state = {
response: [],
user_namez: "",
user_pazz: "",
};
}

componentDidMount() {
axios.get('http://192.168.0.108/easy_backend/app/app_db/stud_data')
.then((response) => {
//as soon as the state is updated, component will render using updated values
this.setState({ response: response});
});
}

render() {
return (
<View>
{
this.state.response.map((y) => {
return (<Text>{y.prnt_usernamez}</Text>);
})
}
</View>
);
}
}

关于reactjs - 如何在 React-native 中循环数据数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40147533/

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