javascript - 使用 for 循环 react 构建选择输入

标签 javascript reactjs

我正在尝试构建一个选择下拉列表并使用 for 循环填充输入字段。

import React, { Component } from 'react';

export default class Test extends Component {
  render() {
    let options = [];
    for (let i=2; i < 20.5; i += 0.5){
      options.push(<option value={i*60} key={i}>{i} hours</option>)
    }
    return (
      <select>
        {options}
      </select>
    )
  }
}

{i} 小时 部分导致 Uncaught TypeError: Cannot read property 'props' of undefined 错误消息。将其更改为固定字符串可防止错误。

我确信我遗漏了一些基本的东西,但我不知道为什么这不起作用。

最佳答案

试试这个:

import React, { Component } from 'react';

export default class Test extends Component {
  render() {
    const options = [];
    for (let i=2; i < 20.5; i += 0.5) options.push(i);
    return (
      <select>
        {options.map(option => (
          <option key={option} value={option*60}>
            {option} hours
          </option>
        ))}
      </select>
    )
  }
}

或(2021 年)作为功能组件:

export default const Test = () => {
  const options = [];
  for (let i=2;i<20.5;i+=0.5) options.push(i);
  return (
    <select>
      {options.map(option => (
        <option key={option} value={option*60}>
          {option} hours
        </option>
      ))}
    </select>
  )
}

关于javascript - 使用 for 循环 react 构建选择输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35715177/

相关文章:

javascript - 单击菜单图像时不显示侧面菜单

reactjs - React Redux 错误类型错误 : sourceSelector is not a function

css - 使用 react-bootstrap 进行网格布局时遇到问题

css - 如何用 React 覆盖默认的 MaterialUI 样式?

javascript - 如何在 Google Chrome 扩展程序中发送 ajax 请求?

javascript - 在不使用返回值的情况下执行映射操作是反模式吗?

javascript - 没有将 "exportAs"设置为 "ngForm"的指令

javascript - Redux 状态更新,但组件状态与第一次相比没有改变

javascript - React Hooks 能否完全替代 Redux?

javascript - 使用 Mongoose 在 Node JS 中进行全文搜索