【问题标题】:Using Map function inside the render() -> return() but it's not getting displayed在 render() -> return() 中使用 Map 函数,但没有显示
【发布时间】:2019-08-24 00:25:42
【问题描述】:

我正在学习 React,但在使用渲染函数内的 UL JSX 元素内的映射函数渲染列表 (ul>li's) 时遇到问题。我在互联网上搜索但无法解决问题。 下面是我的组件代码:(在这个组件中实现分页)

代码 sn-p:

    //function returning list with values 1-total_pages e.g total_pages=5
        make_pages_list = (start, end, step) => {
        return Array.from(Array.from(Array(Math.ceil((end-start+1)/step)).keys()), x => start+ x*step);
    }

render() {
   return(
      <div>
      <div>Hi there
       <form>
           <input type="text"/>
           <input type="submit"/>
       </form>
      </div>
     ........ 
     //other JSX elements are also there
    //then
                    <div>
                        <div className='ui container'>
                            <ul style={{listStyle: "none"}}>
                                {this.make_pages_list(1,this.state.total_pages, 1).map((n) =>{
                                   <li key={n} id={n}><a href="#">{n}</a></li>    
                                }
                                )}
                            </ul>
                        </div>
                    </div>
                </div>

   )

}

另外: 我也有模块"react-addons-create-fragment",但是 ul 的样式不起作用。

【问题讨论】:

  • 您的 .map() 函数没有返回任何内容。

标签: reactjs


【解决方案1】:

你应该从地图功能return

{this.make_pages_list(1,this.state.total_pages, 1).map((n) =>{
   return <li key={n} id={n}><a href="#">{n   }</a></li>    
}
)}

{this.make_pages_list(1,this.state.total_pages, 1).map((n) =>(
   <li key={n} id={n}><a href="#">{n   }</a></li>    
)
)}

【讨论】:

  • 当你添加return时发生了什么?
猜你喜欢
  • 2018-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-15
  • 1970-01-01
相关资源
最近更新 更多