您好我正在创建一个网格,我的班级中有这个构造函数
export class Grid extends Component {
constructor (props) {
super(props)
var ds = new ListView.Datasource({rowHasChanged: (r1, r2) => r1 !== r2})
this.state = {dataSource: ds.cloneWithRows(this._genRows({}))}
}
.
.
.
}
当我尝试运行时,我收到以下错误:
Undefined不是构造函数(评估'new) _reactNative.ListView.Datasource({rowHasChanged:function rowHasChanged(r1,r2){returnr1!== r2;}})')
有人能帮我一把吗? 提前谢谢!
答案 0 :(得分:6)
我认为这只是一个错字。请尝试在此行中使用DataSource
代替Datasource
:
var ds = new ListView.DataSource( ...
ListView
参考:http://facebook.github.io/react-native/releases/0.29/docs/listview.html
答案 1 :(得分:0)
我有类似的事情发生在我身上,我花了一些时间来弄清楚这个错误,所以我会把它写出去,以便其他人可以使用它。
我有什么:
import foo from './foo'
class bar extends Component{
constructor(props){
super(props);
const foo = new foo(); // getting foo is undefined and not a constructor
}
}
显然在js中,本地赋值在调用构造函数之前会覆盖外部赋值。