在ReactNative中迭代对象

时间:2017-12-21 20:36:23

标签: arrays mongodb reactjs react-native

我想显示数组中的所有对象。但是我无法使用.map 现在,如果这是有效的,只显示第一个对象:

<Text>{collaborateurs[0].collaborateur}</Text>

如果我想显示第二个对象,那么,这也可以

<Text>{collaborateurs[1].collaborateur}</Text>

但是我需要遍历数组,因为有时候有两个以上的条目。

我试过这个,但它返回&#34;对象无效作为React Child

        <Text>
            <ul>
            {collaborateurs.map(function(name, index){
              return <li key={index}>{name}</li>;
            })}
          </ul>
        </Text>

此处还有json文件的结构:

 "collaborateurs" : [ {
        "collaborateur" : "Mme Aurélie"
      }, {
        "collaborateur" : "Mme Charlotte"
      }, {
        "collaborateur" : "Mme Valérie"
      } ],

2 个答案:

答案 0 :(得分:0)

每个对象都有collaborateur属性。使用map迭代数组时,将对象分配给name变量,然后尝试渲染对象。在您的&#34;手册&#34;例如,您可以直接访问collaborateur媒体资源 - collaborateurs[0].collaborateur

从对象中构造属性以获取字符串:

<Text>
    <ul>
    {collaborateurs.map(({ collaborateur }, index) => (
      return <li key={index}>{collaborateur}</li>;
    ))}
  </ul>
</Text>

答案 1 :(得分:0)

您有一个对象数组,并且您正在将数组的每个元素分配给变量name,因此您告诉React将对象用作子对象。 您需要使用所述对象的属性,在您的情况下是协作。

 <Text>
     <ul>
         {collaborateurs.map((obj, index) => {
              return <li key={index}>{obj.collaborateur}</li>;
          })}
     </ul>
 </Text>