У меня есть расширяемый список разделов в моем приложении, и мне нужно заполнить его значениями из двух разных вызовов API.В этой ссылке образец заполняется из локальной переменной.Также я заметил, что данные должны быть такими:
const MockData = [
...
{
header: 'sectionHeader',
member: [
...
{
title: 'memberTitle',
content: 'content',
},
...
]
},
...
]
Я проанализировал свои ответы из двух apis в вышеупомянутом формате.и сохранил значение в переменной состояния.если я устанавливаю это значение переменной sate в расширяемый список, это показывает ошибку.Если предположить, что я печатаю значение переменной состояния с помощью console.log (), копирую это значение и сохраняю его в локальной переменной, а затем использую эту переменную для заполнения расширяемого списка, в котором она работает.Я знаю, это звучит так странно.Я скопировал значение из консоли, чтобы проверить, не было ли каких-либо ошибок при разборе json.Ну, я не думаю, что то, что я проанализировал, неверно.Может ли кто-нибудь помочь.
Это мой рендер
render() {
if (this.state.hasData) {
var data = this.state.processedData;
console.log("return");
console.log(data);
return (
<ExpandableList
dataSource={this.state.processedData}
headerKey="title"
memberKey="member"
renderSectionHeaderX={this._renderHeader}
renderRow={this._renderRow}
/>
);
} else {
return <ActivityIndicator style={{ flex: 1 }} />
}
}
Любая помощь будет оценена
Заранее спасибо.
РЕДАКТИРОВАТЬ 1.
В большинстве примеров расширяемого списка список заполняется из локального хранилища.Заполняю список из переменной состояния.Это проблема
РЕДАКТИРОВАТЬ 2.
Вот как я анализирую два моих API в требуемый формат
processList =() =>{
console.log("ProcessList");
var students = this.state.data;
var stuLength = students.length;
var tempStuLength = 0;
var main = "[";
this.state.data.map((userData) => {
tempStuLength = tempStuLength + 1;
var title = '{ title: {' + 'StudentName: ' + JSON.stringify(userData.StudentName ) +', ' + 'studentId:' + JSON.stringify( userData.StudentID )+ ', '+ 'name:' + JSON.stringify(userData.StudentName) + ', ' + 'parentName:' + JSON.stringify(userData.FatherName) + ', ' + 'dob:' + JSON.stringify(userData.DOB) + ', ' + 'image:' + JSON.stringify(userData.CivilID) + '},';
var member = 'member: ['
var tempFee = this.state.feesDetails
var feeLength = tempFee.length;
var tempCount = 0;
this.state.feesDetails .map((fees) =>{
if( userData.StudentName === fees.StudentName){
tempCount = tempCount + 1;
if (tempCount !== 1){
member = member.concat(",")
}
var feeItem = '{ title:' + JSON.stringify(fees.StudentName )+ ', date:' + JSON.stringify(fees.FeeDueDate) + ', type:' + JSON.stringify(fees.FeeDescription) + ', amount:' + JSON.stringify(fees.FeeAmount) + '}'
member = member.concat( feeItem);
}
});
tempCount == 0;
member = member.concat("] }");
if(tempStuLength !== stuLength){
member = member.concat(",")
}
title = title.concat(member);
main = main.concat(title);
});
main = main.concat("]");
console.log(" $$$$$$$$$ ");
console.log(main);
console.log(" $$$$$$$$$ ");
this.setState({
processedData : JSON.stringify(main),
hasData : true
});
};
В настоящее время у меня есть эта ошибкапри попытке установить анализируемые данные из переменной состояния.Любая идея ... ??
TypeError: TypeError: TypeError: Запрошенные ключи значения, которое не является объектом.