javascript - array.map 在reactjs 中不起作用

标签 javascript arrays reactjs mapping

我的阵列tabList未映射到 <li>我需要的标签。 我做错了什么。

import React, { Component } from 'react'
// import NeilProfile from './neil-profile.jpg'
import Expertise from './expertise'
import Work from './work'
import Activity from './activity'

export class Bottom extends Component {

  constructor (props) {
    super(props)
    this.state = { currentTab: 1 }
    this.changeTab = this.changeTab.bind(this)
  }

  changeTab (id) {
      this.setState({ currentTab: id })
  }

  render () {

    const tabList = [
      { 'id': 1, 'name': 'Work' },
      { 'id': 2, 'name': 'Expertise' },
      { 'id': 3, 'name': 'Activity'}
    ]

    return (
      <div className='profile-bottom'>
        <header>
          <ul className='profile-bottom__tab-navigation'>

            {tabList.map(function(tab) {
            <li key={tab.id} className={(this.state.currentTab === tab.id) ? 'active' : null}>
                <a onClick={() => this.changeTab(tab.id)} >
                    {tab.name}
                </a>
            </li>
          }.bind(this))}

          </ul>

          <div className='profile-bottom__filter'>
            <p>Show only: <span>Articles</span></p>
          </div>
        </header>
        <div className='profile-bottom__content'>
          {this.state.currentTab === 1 ?
            <Work />
            :null}

            {this.state.currentTab === 2 ?
              <Expertise />
            :null}

            {this.state.currentTab === 3 ?
              <Activity />
            :null}

        </div>
      </div>
    )
  }
}

export default Bottom

最佳答案

您缺少 map 功能中的 return 。像这样更新你的 map 功能 -

return (<li key={tab.id} className={(this.state.currentTab === tab.id) ? 'active' : null}>
                <a onClick={() => this.changeTab(tab.id)} >
                    {tab.name}
                </a>
</li>)

关于javascript - array.map 在reactjs 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41735039/

相关文章:

javascript - AngularJS $http 获取数据,但未显示。

javascript - Meteor + Bootstrap - 警报已关闭。bs.alert 未触发

javascript - Internet Explorer 6 Z-index 问题

reactjs - 如何在react-id-swiper中将初始事件幻灯片设置为不同索引?

javascript - 为 Jest 的每个测试文件指定 window.location

javascript - 在 react 中从同一文件导入多个组件而不是导入每个组件的正确方法是什么

java - 使用数组作为 hashmap java 的键

java - 数独游戏构造函数

javascript - 基于字符串变量将二维数组项添加到新数组

reactjs - 将自定义单选按钮组件放入 Material UI 中的单选组内