2017-08-17 46 views
0

我是RN的網絡,我想嘗試從for循環中的.json文件中的數據數組映射數據,如果可能或任何循環,但它應該映射數據數組。React-Native:this.something.map在for循環中訪問.json文件中數據數據的數據..任何人都可以提供示例代碼示例嗎?

任何人都可以提出一個代碼示例,我可以試試嗎?因爲我嘗試了以下內容,我無法爲它添加一個.map變量。

JSON數據數組(以.json)

[ 
{ 
"name": { 
    "first": "abc", 
    "last": "xyz" 
}, 
"position": "Software Developper", 

"photo": "http://www.lilavatihospital.com/Admin/Doctors/doctor.jpg" 
}, 
    { 
"name": { 
    "first": "sdf", 
    "last": "xyz" 
}, 
"photo": "http://www.lilavatihospital.com/Admin/Doctors/doctor.jpg" 
}, 
{ 
"name": { 
    "first": "abby", 
    "last": "xyz" 
}, 
"photo": "http://www.lilavatihospital.com/Admin/Doctors/doctor.jpg" 
} 
] 

JS文件

renderItem() { 
const elements = []; 
for (var i = 0; i < users.length; i++) { 
    elements.push(
    <Text> 
     {users[i].name.first} 
    </Text>, 
); 
} 
return elements; 
    } 
    render() { 
return (
    <View> 
    {this.renderItem()} 
    </View> 
); 
+0

所以你想從array.map()從json獲取數據? –

+0

是的,也許如果它可以迭代一個值,如array.map(),但例如users.name.first內循環或類似的循環或如此?結果存儲到一些變量? –

回答

1

我想也許你可以嘗試這樣的:

renderItem() { 
    const elements = []; 
    const array = users.map(function(x,i){ 
     elements.push(x.name.first) 
     return (
      <Text key={i}>{x.name.first}</Text> 
     ); 
    }) 
    console.log(elements); 
    return array; 
} 
render() { 
    return (
     <View> 
      {this.renderItem()} 
     </View> 
    ); 
} 

因此變量elements的值是['abc','sdf','abby']。 我希望這個答案可以幫助你。

+0

那@edz怎麼樣,它工作嗎? –

+0

是的,謝謝你@srsugara,它使用這個代碼:) –

+0

但我只注意到,我收到一個警告,說數組或迭代器中的每個子應該有一個唯一的鍵屬性? –

相關問題