Javascript for循环只返回reactJS中的初始索引

Javascript for循环只返回reactJS中的初始索引,javascript,reactjs,for-loop,Javascript,Reactjs,For Loop,我是一个新手,所以作为我的练习,我正在创建一个动态的birtdate表单。我的第一个挑战是在选择的出生年份中列出从1900年到2017年的年份,因此我使用for循环将其缩短,而不是在标记中逐个列出年份的可怕方式。下面的代码未成功执行,它仅返回2017 export default class Items extends Component { render() { return( <div> <form> <

我是一个新手,所以作为我的练习,我正在创建一个动态的birtdate表单。我的第一个挑战是在选择的出生年份中列出从1900年到2017年的年份,因此我使用for循环将其缩短,而不是在标记中逐个列出年份的可怕方式。下面的代码未成功执行,它仅返回2017

export default class Items extends Component {
  render() {
    return(
      <div>
        <form>
          <select name='year' className='yearSelect'>
            <option value="">Year</option>
            {
              for(let yearCount = 2017; yearCount >= 1900; yearCount--)
                return <option value={yearCount}>{yearCount}</option>
            }
          </select>
        </form>
      </div>
    );
  }
}
在控制台中,它抛出了一个错误,显示:


由于作用域的原因,花括号困扰着我,因此我不得不删除for循环的花括号,并缩进其中的行。

如下更新代码

export default class Items extends Component {
  render() {
       let options = [];
         for(let yearCount = 2017; yearCount >= 1900; yearCount--)
             options.push((<option value={yearCount} key={yearCount}>{yearCount}</option>));
    return(
      <div>
        <form>
          <select name='year' className='yearSelect'>
            <option value="">Year</option>
            { options }
          </select>
        </form>
      </div>
    );
  }
}

for循环无法返回内容。在渲染之前,您需要运行该代码,将其放入一个变量中,然后在该括号区域调用该变量,看起来类似于将其与@a.Lau组合,谢谢提示。我不知道谢谢你,巴德:只有一个问题。。。标签中的关键属性是什么?它是做什么的?当使用循环渲染元素时。您必须分配键属性,并且它应该是唯一的。基于此键,react将在此处操作元素。在使用循环操作DOM元素时,是否始终需要该属性?是的,必须在循环中添加键属性。