Javascript 尝试在react应用程序中设置状态时出现错误消息
我正在开发一个react应用程序,在我尝试在下面的代码中设置状态之前,一切都正常 我收到的错误消息如下所示: “未捕获不变冲突:对象作为子对象无效 (找到:具有键{invoiceId、branchId、customerId、, routeNumber、settledDate、orderNumber})。如果要呈现 子集合,请改用数组。“ 我无法将状态设置为queryResult。这个代码有什么问题Javascript 尝试在react应用程序中设置状态时出现错误消息,javascript,reactjs,Javascript,Reactjs,我正在开发一个react应用程序,在我尝试在下面的代码中设置状态之前,一切都正常 我收到的错误消息如下所示: “未捕获不变冲突:对象作为子对象无效 (找到:具有键{invoiceId、branchId、customerId、, routeNumber、settledDate、orderNumber})。如果要呈现 子集合,请改用数组。“ 我无法将状态设置为queryResult。这个代码有什么问题 constructor(){ super(
constructor(){
super();
this.state = {
queryResult:[]
};
searchForInvoicesByDates(startDate, endDate){
let dataToWorkWith = [];
dataToWorkWith = this.cleanUpInvoicesByDate();
//format startdate and enddate
let cleanedStartDate = moment(startDate).format('MM-DD-YYYY');
let cleanedEndDate = moment(endDate).format('MM-DD-YYYY');
let filteredResult = [];
for(let i = 0; i < dataToWorkWith.length; i++){
if(dataToWorkWith[i].settledDate >= cleanedStartDate && dataToWorkWith[i].settledDate <= cleanedEndDate) {
filteredResult.push(dataToWorkWith[i]);
}
}
this.setState({queryResult:filteredResult}); //problem is here
}
constructor(){
超级();
this.state={
查询结果:[]
};
搜索发票日期(开始日期、结束日期){
让dataToWorkWith=[];
dataToWorkWith=this.cleanUpInvoicesByDate();
//设置startdate和enddate的格式
让cleanedStartDate=力矩(startDate).format('MM-DD-YYYY');
让cleandedDate=时刻(endDate).format('MM-DD-YYYY');
让filteredResult=[];
对于(设i=0;i 如果(dataToWorkWith[i].settledDate>=cleanedStartDate&&dataToWorkWith[i].settledDate此错误可能是由于直接在渲染函数中渲染queryResult造成的。请尝试在渲染函数中使用queryResult上的映射,如下所示:
render(){
return queryResult.map(query => <div> query </div>)
}
render(){
返回queryResult.map(query=>query)
}
首先-您忘记关闭构造函数中状态的定义,其次-显示渲染函数请在问题中包括渲染
,问题可能是一个对象作为JSX元素返回,这不是有效的操作。