Mobile 为什么;CloneWithRows();don';不能使用数组

Mobile 为什么;CloneWithRows();don';不能使用数组,mobile,react-native,Mobile,React Native,我有密码: constructor(props){ super(props); var ds= new ListView.DataSource({ rowHasChanged: (r1, r2) => r1 !== r2 }); var messagesArray = [ {message: "Hello", style: styles.nikkiMes}, {message: "Okkkk", style: styles.userMes} ]; this.state

我有密码:

constructor(props){
super(props);
var ds= new ListView.DataSource({
    rowHasChanged: (r1, r2) => r1 !== r2
});

var messagesArray = [
  {message: "Hello", style: styles.nikkiMes},
  {message: "Okkkk", style: styles.userMes}
];

this.state = {
  messagesSource: ds.cloneWithRows(messagesArray.slice());
};
}

行中出现错误:

messagesSource: ds.cloneWithRows(messagesArray.slice());

为什么我不能将数组传递到cloneWithRows?

您不应该在对象定义中加分号。不同的属性用逗号分隔,而不是分号。
例如

obj = {
    var: 'myVar',
    anotherVar: 'myVar2',
}
this.state = {
    messagesSource: ds.cloneWithRows(messagesArray.slice());
}
因此:

obj = {
    var: 'myVar',
    anotherVar: 'myVar2',
}
this.state = {
    messagesSource: ds.cloneWithRows(messagesArray.slice());
}
应该是

this.state = {
    messagesSource: ds.cloneWithRows(messagesArray.slice())
}
您只需在行中添加一个终止符“;” messagesSource:ds.cloneWithRows(messagesArray.slice()) 只要删除这个,您的代码就可以完美地工作

var messagesArray =[{message:"data1"},{message:"data2"},{message:"data3"}];
this.state = {
messagesSource: ds.cloneWithRows(messagesArray.slice())
}