2016-07-20 42 views
2

我使用DropdownList从react-widgets从一个json文件(lang有一个值)的下拉菜单。这里是代码:如何避免重新呈现反应DropdownList从反应窗口小部件

 <DropdownList 
      ref='dropdown' 
      data={lang} 
      valueField='id' 
      textField={item => item.name} 
      caseSensitive={false} 
      filter='contains' 
      value={this.state.value} 
      onChange={this.handleLangChange} /> 

问题是,该名单是巨大的!因此渲染需要时间,当用户想要选择一个项目时,他必须等待几秒钟。有谁知道我该如何加快速度? 每次搜索输入更新时,它似乎都呈现DropdownList组件:/

回答

0

看一看React lifecycle shouldComponentUpdate() method。它负责通知React是否应该重新渲染组件。只有在修改了下拉列表元素后,才可以强制重新呈现。

不知道你有多少访问React-Widgets。但是你显然可以创建一个围绕DropDownList的包装组件来访问属性和shouldComponentUpdate。只是一个想法