2017-05-11 54 views
-2

給出錯誤這給了錯誤的for循環簡單的在反應這個代碼迴路在for循環

let contact=[{name:"Mithun"},{name:"Keerthana"},{name:"Jayendara"},{name:"Shivani"}] 

for (i=0;i<list;i++) 

{ 
<h1>{content[0].name}</h1> 
} 
+0

1)http://stackoverflow.com/questions/29149169/how-to-loop-and-render-elements-in-react-js-without-an -ray-of-objects-to-map 2)http://stackoverflow.com/questions/29859380/for-loop-in-react-render-method 3)http://stackoverflow.com/questions/22876978/環路內反應的-JSX –

回答

1

您需要使用contact.length而不是列表中的循環。您還需要使用繼續,而不是繼續使用012 [0]。

for (i = 0; i < contact.length; i++) { 
    <h1>{contact[i].name}</h1> 
} 

如果您使用的是TSX(TypeScript + React),則可以使用map函數使其更容易。

return contact.map(c => <h1>{c.name}</h1>); 
1

建議你一些事情

  1. 在你的問題你遍歷list,而不是你應該遍歷contacts

  2. 據我瞭解你想了解創建一個JSX元素來自聯繫人對象。所以,你需要把它推到一個數組,然後渲染它像

代碼:

let contact=[{name:"Mithun"},{name:"Keerthana"},{name:"Jayendara"},{name:"Shivani"}] 
var content = []; 
for (i=0;i<contact;i++) 
{ 
content.push(<h1>{contact[i].name}</h1>); 
} 

,當你想使這個在你的渲染功能,你會做這樣的事情

return (
    <div>{content}</div> 
) 
  1. 但是由於您使用的是反應,您應該使用更方便易用的地圖功能

您的代碼看起來像

render() { 
    return(
     <div> 
      {contacts.map(function(item) { 
       return (<h1>{item.name}</h1>) 
      })} 
     </div> 
    ) 
    }