reactjs – React.js“不变违规:findComponentRoot”

我知道错误来自嵌套的东西和嵌套的_.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仍然期望它们在那里.

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...