2017-04-01 47 views
0

我在jsx中有這樣的數組,像breadcrumb = ['food','hotdogt']但我得到了一個錯誤unexpected token .es6 map失敗陣列,意外的令牌

{breadcrumb.map(obj => { 
    {obj} 
})} 
+0

儘量節省'map'函數變量的結果,並把變量放到渲染,而不是以前的做法。 –

+0

@JDHrnnts我在jsbin中做過。 –

+0

你能發佈一個指向該資源的鏈接嗎? –

回答

0

寫這樣的:

{ 
    breadcrumb.map(obj => { 
     return <div> {obj} </div> 
    }) 
} 

{ 
    breadcrumb.map(obj => <div> {obj} </div>) 
} 

{ 
    breadcrumb.map(obj => obj) 
} 

{}括號,當您使用內012 js代碼所需元素,您使用的是{obj},但未使用任何html元素。你忘了也使用return

檢查這個例子:

var breadcrumb = ['food','hotdogt']; 
 

 
var App =() => { 
 
    return(
 
     <div> 
 
      { 
 
      breadcrumb.map(obj => <p key={obj}> {obj} </p>) 
 
      } 
 
      { 
 
      breadcrumb.map((obj, i) => { 
 
       return <span key={obj}> 
 
          <span className="bold"> {obj} </span> 
 
          {i != breadcrumb.length -1 ? <span className="seperator"> -> </span> : null} 
 
         </span> 
 
      }) 
 
      } 
 
     </div> 
 
    ) 
 
} 
 

 
ReactDOM.render(<App/>, document.getElementById('app'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> 
 

 
<div id='app'/>

+0

謝謝,但我在jsx中的HTML卡住http://stackoverflow.com/questions/43153114/simple-breadcrum-logo-in-jsx-of-react-binding –

+0

你想要的結果是這樣的:a-> b - > c-> d-> e ??如果a,b,c,d,e將是數組的項目。 –

+0

正確,但我搞砸了jsx內的html標籤,我搞砸了串接。 ' - >'應該被包裹在標籤中,以便我可以設計它們。 –