我知道错误来自嵌套的东西和嵌套的_.map函数,但我无法弄清楚如何做到这一点.
下面是渲染函数的一部分:
我想做的是:
>检查是this.props.currencylist存在
>然后显示< select>落下
>使用< options>来自this.props.currencylist
{ this.props.currencylist ? <select id="fiatselector" onChange={this.onSelectCurrency} value {this.props.selectedcurrency}> { _.map(this.props.currencylist,function(currency) { return <option value={currency}> {currency} </option> }) } </select> : "" }
非常感谢!
顺便说一句,在第一次渲染时它完美运行,当必须更新时会出错,使用新的货币列表重新渲染会触发错误
这里的实际问题是值周围的空间.
<option> {x} </option>
它应该是:
<option>{x}</option>
前者最终呈现:
<option><span> </span>{x}<span> </span></option>
浏览器删除了span包装器,但React仍然期望它们在那里.