Javascript 循环Json&;以React Native显示

Javascript 循环Json&;以React Native显示,javascript,json,reactjs,react-native,Javascript,Json,Reactjs,React Native,如何循环从Json检索到的结果? render:function(){ log(this.state.list); 内容=( 加载 ) 返回( XXX {contents} ); } React可以呈现一个元素数组,因此您只需构造一个数组并将其分配给内容变量即可。我用map做了一个例子 render: function() { console.log(this.state.list); contents = this.state.list.results.map(funct

如何循环从Json检索到的结果?

render:function(){
log(this.state.list);
内容=(
加载
)
返回(
XXX
{contents}
);
}

React可以呈现一个元素数组,因此您只需构造一个数组并将其分配给
内容
变量即可。我用
map
做了一个例子

render: function() {
     console.log(this.state.list);
     contents = this.state.list.results.map(function (item) {
        return (
          <View key={item.user.email} style={ styles.content }>
            <Text>{item.user.email}</Text>
          </View>
        );
     });
     return (
      <View style={ styles.container }>
        <View style={ styles.header }>
        <Text style={ styles.headerText }>XXX</Text>
        </View>
        <View style={ styles.content }>
            { contents }
        </View>
      </View>
    );
  }
render:function(){
log(this.state.list);
contents=this.state.list.results.map(函数(项){
返回(
{item.user.email}
);
});
返回(
XXX
{contents}
);
}

另外:当您在React中有一个元素数组时,您应该为数组中的每个元素提供一个唯一的
属性。在这种情况下,我使用
item.user.email
作为唯一标识符,但您可以使用另一个属性,只需确保它唯一(
item.user.md5
是有希望的)

确保
this.state.list
对象中始终包含
results
数组。您可以添加更多逻辑来处理您的状态,或者只添加if/else条件来获取所需的
内容
。我在GetInitialState上使用list:{results:[]}进行了初始化,但我得到了警告:数组或迭代器中的每个子级都应该具有唯一的密钥属性,请注意:)这是我的错误,没有输入
属性。检查我的最新答案。
render: function() {
     console.log(this.state.list);
     contents = this.state.list.results.map(function (item) {
        return (
          <View key={item.user.email} style={ styles.content }>
            <Text>{item.user.email}</Text>
          </View>
        );
     });
     return (
      <View style={ styles.container }>
        <View style={ styles.header }>
        <Text style={ styles.headerText }>XXX</Text>
        </View>
        <View style={ styles.content }>
            { contents }
        </View>
      </View>
    );
  }