2017-04-09 67 views
0

我有一個函數,我正在返回一個變量來創建一個列表項。該函數愉快地返回無序列表,但不是我想要填充它的項目。我會感謝一些方向,爲什麼我出了問題。在ES6反應類中的函數中返回一個變量或常量

Header.js

export class Header extends Component { 

    constructor() { 
     super(); 
    } 

    NavMenu() { 

     let links =() => (

      <li>hey</li> 
    ); 

    return (
     <ul className="nav navbar-navs"> 
      {links} 
     </ul> 
     ); 
    } 

    render() { 
     return (
       <div className="container-fluid"> 
          {this.NavMenu()} 
       </div> 
     ) 
    } 

    } 

    export default Header; 

謝謝:)

+0

應該是'{鏈接()}' - 你必須執行箭頭函數返回列表項。 – Li357

+0

或者乾脆讓'let links =(

  • );'應該在這種情況下做。 –

    +0

    @AndrewLi tnxs答案已經達到了,但是在PC前面過多的時間會讓你忽視基本的東西。 – W9914420

    回答

    2

    links是返回元素的函數。你應該稱呼它links()

    class Header extends React.Component { 
     
    
     
        constructor() { 
     
         super(); 
     
        } 
     
    
     
        NavMenu() { 
     
    
     
         let links =() => (
     
    
     
          <li>hey</li> 
     
        ); 
     
    
     
        return (
     
         <ul className="nav navbar-navs"> 
     
          {links()} 
     
         </ul> 
     
         ); 
     
        } 
     
    
     
        render() { 
     
         return (
     
           <div className="container-fluid"> 
     
              {this.NavMenu()} 
     
           </div> 
     
         ) 
     
        } 
     
         
     
    } 
     
    ReactDOM.render(<Header/>, 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"></div>

    +0

    謝謝你的這個例子對我和其他做同樣事情的人非常有幫助。 – W9914420

    +0

    很高興有幫助。 –

    0

    您正在使用{}鏈接變量,指向一個功能。

    現在,無論你調用使用鏈接相應的功能()返回一個值 或 只是分配一個直接值變量的聯繫。

    NavMenu() { 
    
    let links = (<li>hey</li>); 
    
    return (
        <ul className="nav navbar-navs"> 
         {links} 
        </ul> 
        ); 
    } 
    
    +1

    每個選項都可以實現,再次感謝。 – W9914420

    相關問題