Javascript React Native iOS错误:undefined不是对象(计算';allRowIDs.length';)
我一直在尝试使用本链接中提到的iOS步骤来响应Native和Firebase 我想首先遵循此链接中提到的静态实体模型步骤。我已经按照步骤提供了代码,但是当我在Xcode中运行应用程序时Javascript React Native iOS错误:undefined不是对象(计算';allRowIDs.length';),javascript,ios,reactjs,react-native,Javascript,Ios,Reactjs,React Native,我一直在尝试使用本链接中提到的iOS步骤来响应Native和Firebase 我想首先遵循此链接中提到的静态实体模型步骤。我已经按照步骤提供了代码,但是当我在Xcode中运行应用程序时 2017-10-17 01:25:19.743 [fatal][tid:com.facebook.react.ExceptionsManagerQueue] Unhandled JS Exception: TypeError: undefined is not an object (evaluating 'all
2017-10-17 01:25:19.743 [fatal][tid:com.facebook.react.ExceptionsManagerQueue] Unhandled JS Exception: TypeError: undefined is not an object (evaluating 'allRowIDs.length')
This error is located at:
in ListView (at index.js:64)
in RCTView (at View.js:113)
in View (at index.js:60)
in ReactFirebaseSample (at renderApplication.js:35)
in RCTView (at View.js:113)
in View (at AppContainer.js:102)
in RCTView (at View.js:113)
in View (at AppContainer.js:126)
in AppContainer (at renderApplication.js:34)
请告知,如何修复此错误
以下是index.JS代码:
'use strict';
import React, {Component} from 'react';
import ReactNative from 'react-native';
const firebase = require('firebase');
const StatusBar = require('./components/StatusBar');
const ActionButton = require('./components/ActionButton');
const ListItem = require('./components/ListItem');
const styles = require('./styles.js')
const {
AppRegistry,
ListView,
StyleSheet,
Text,
View,
TouchableHighlight,
AlertIOS,
} = ReactNative;
// Initialize Firebase
const firebaseConfig = {
apiKey: "AIxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
authDomain: "fir-realtime-dc900.firebaseapp.com",
databaseURL: "https://fir-realtime-dc900.firebaseio.com",
storageBucket: "fir-realtime-dc900.appspot.com",
};
const firebaseApp = firebase.initializeApp(firebaseConfig);
AppRegistry.registerComponent('ReactFirebaseSample', () => ReactFirebaseSample);
class ReactFirebaseSample extends Component {
constructor(props) {
super(props);
this.state = {
dataSource: new ListView.DataSource({
rowHasChanged: (row1, row2) => row1 !== row2,
})
};
}
componentDidMount() {
this.setState({
dataSource: this.state.dataSource.cloneWithRows([{ title: 'Pizza' }])
})
}
_renderItem(item) {
return (
<ListItem item={item} onpress={() => {}}/>
);
}
render() {
return (
<View style="{styles.container}">
<StatusBar title="Grocery List"/>
<ListView datasource="{this.state.dataSource}" renderrow="{this._renderItem.bind(this)}" style="{styles.listview}/"/>
<ActionButton title="Add" onpress={() => {}} />
</View>
);
}
}
“严格使用”;
从“React”导入React,{Component};
从“react native”导入ReactNative;
const firebase=require('firebase');
const StatusBar=require('./组件/StatusBar');
const ActionButton=require('./组件/ActionButton');
const ListItem=require('./组件/ListItem');
const styles=require('./styles.js')
常数{
评估学,
ListView,
样式表,
文本,
看法
触控高光,
AlertIOS,
}=反应性;
//初始化Firebase
常量firebaseConfig={
apiKey:“AIxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,
authDomain:“fir-realtime-dc900.firebaseapp.com”,
数据库URL:“https://fir-realtime-dc900.firebaseio.com",
storageBucket:“fir-realtime-dc900.appspot.com”,
};
const firebaseApp=firebase.initializeApp(firebaseConfig);
AppRegistry.registerComponent('ReactFirebaseSample',()=>ReactFirebaseSample);
类ReactFirebaseSample扩展组件{
建造师(道具){
超级(道具);
此.state={
数据源:新建ListView.dataSource({
行已更改:(行1,行2)=>行1!==行2,
})
};
}
componentDidMount(){
这是我的国家({
dataSource:this.state.dataSource.cloneWithRows([{title:'Pizza'}]))
})
}
_renderItem(项目){
返回(
{}}/>
);
}
render(){
返回(
{}} />
);
}
}
当提供字符串以外的某些类型的参数时,您不使用“
数据源=“{this.state.datasource}”应该是数据源={this.state.datasource}”
。相应地更改其他道具。正确。它现在起作用了。这是一条蹩脚、无用的错误消息,React Native需要调试。当提供字符串以外的某些类型的参数时,您不使用“
datasource=“{this.state.datasource}”
应该是datasource={this.state.datasource}
。相应地更换其他道具。正确。它现在起作用了这样一个蹩脚、无用的错误消息,React Native是一个需要调试的猪。