javascript - 从项目数组动态创建链接

标签 javascript reactjs ecmascript-6

我需要根据数组中的值创建一个链接 ul。链接已创建,但 href 属性是随机分配的,与我传递给 getUrl 函数的实际值不对应。

这是迄今为止我的代码:

  getURL (type) {
    let url
    switch (type) {  
      case 'Yahoo':
        url = 'https://www.yahoo.com/'

      case 'Bing':
        url = 'https://www.bing.com/'

      default:
        url = 'https://www.google.com'
    }
    return url
  }

和渲染:

  render () {
    let { expandList } = this.state

    let listItems = [
      'Google',
      'Bing',
      'Yahoo'
    ]

    let list = expandList
      ? listItems.map((item, index) => {
          return (
            <li key={index}>
              <a href={this.getURL(item)} target='_blank'>
                {item}
              </a>
            </li>
          )
        })
      : ''

    return (
      <div>
        <ul>{list}</ul>
      </div>
    )
  }

最佳答案

您需要在每个案例之后中断或从中返回。如果您不这样做,它将始终继续默认,并返回 google 网址。

function getURL(type) {
  switch (type) {
    case 'Yahoo':
      return 'https://www.yahoo.com/'

    case 'Bing':
      return 'https://www.bing.com/'

    default:
      return 'https://www.google.com'
  }
}

console.log(getURL('Yahoo'));

console.log(getURL('Bing'));

关于javascript - 从项目数组动态创建链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49459692/

相关文章:

javascript - 具有随机结果的组合生成器

javascript - React 中输入小数的数字?

javascript - "no-return-assign"- 带括号和不带括号赋值之间的区别

javascript - 如何使用reduce从数组中删除元素?

javascript - 为什么 babel 将导入的函数调用重写为 (0, fn)(...) ?

javascript - d3 zoom 和 brush 同时工作

javascript - 在 javascript 中循环数组 - 按顺序

javascript - Electron : Saving a db file after compilation

javascript - 如何打印React虚拟网格?

javascript - React-Native 如何查看导入文件的变化?