筛选器ListView反应本机

筛选器ListView反应本机,listview,react-native,Listview,React Native,我正在尝试在react native中筛选(使用包)ListView。我的代码是这样的: getInitialState: function() { return { dataSource: new ListView.DataSource({ rowHasChanged: (row1, row2) => row1 !== row2 }) } }, componentDidMount: function() { Contacts.registerCh

我正在尝试在react native中筛选(使用包)ListView。我的代码是这样的:

getInitialState: function() {
  return {
    dataSource: new ListView.DataSource({
      rowHasChanged: (row1, row2) => row1 !== row2
    })
  }
},

componentDidMount: function() {
  Contacts.registerChanges((contacts) => {
    this.setContacts(contacts, this.props.filter)
  })
  Contacts.loadContacts()
},

setContacts: function(contacts, filter) {
  var filteredContacts = fuzzy.filter(
    filter,
    contacts,
    options)

  this.setState({
    dataSource: this.state.dataSource.cloneWithRows(filteredContacts)
  })
}

componentWillReceiveProps: function(props){
  this.setContacts(Contacts.getContacts(), props.filter)
},

render: function() {
  return (
    <ListView
      dataSource={this.state.dataSource}
      renderRow={(rowData) => <ContactItem contact={rowData.original} />}
      style={styles.container}
    />
  )
}
getInitialState:function(){
返回{
数据源:新建ListView.dataSource({
行已更改:(行1,行2)=>行1!==行2
})
}
},
componentDidMount:function(){
联系人。注册表更改((联系人)=>{
this.setContacts(contacts,this.props.filter)
})
Contacts.loadContacts()
},
设置触点:功能(触点、过滤器){
var filteredContacts=fuzzy.filter(
过滤器,
联络,
选项)
这是我的国家({
dataSource:this.state.dataSource.cloneWithRows(filteredContacts)
})
}
组件将接收道具:功能(道具){
this.setContacts(Contacts.getContacts(),props.filter)
},
render:function(){
返回(
}
style={style.container}
/>
)
}
当我运行代码时,一切都正常,直到我尝试更改过滤器值。当过滤器值更改时,我得到以下错误:

尝试读取空对象引用上的字段“int.android.view.ViewGroup$LayoutParams.width”


我不知道发生了什么事。我正在安卓系统中运行它。

我发现0.19也存在同样的问题,这里的示例代码说明:

我把它放在了产品的痛苦上-请投票


能否显示更多代码,特别是
getInitialState
,以及数据源初始化?这也是真正的错误吗?附加Chrome调试器并切换到“捕获异常时暂停”并进行验证。Hello@NaderDabit,我添加了
getInitialState
componentDidMount
方法。Adam我试图调试,但没有发生,这就像android java代码错误,而不是javascript错误。我注意到错误只发生在具有大型iTen的ListView中。我试了几次,效果很好。