Я пытаюсь заполнить SectionList данными из базы данных SQLite.
Я начинаю здесь:
constructor(props) {
super(props);
this.state = {
loading: true,
sectionListData: [
{
title: 'A Bulls',
data: []
},
{
title: 'H Bulls',
data: []
},
{
title: 'C Bulls',
data: []
},
{
title: 'R Bulls',
data: []
}
]
};
}
Я получаю данные из базы данных, и когда я go чтобы установитьState в соответствующее место, которое он не занимает.
componentDidMount() {
this.aBulls();
this.cBulls();
this.hBulls();
this.rBulls();
}
Каждая из функций построена одинаково, выбирая данные из соответствующей базы данных:
aBulls() {
db.transaction(
tx => {
//SQL Statement
tx.executeSql("select * from abulls group by reg",
//Arguments
[],
//Success
(tx, { rows: {_array} }) => {
const handlebull = JSON.stringify(_array);
const bulls = JSON.parse(handlebull);
this.setState({sectionListData: [
{
0:
{
data: bulls
}
}
]
});
this.setState({loading: false});
},
//Error
(error) => {console.log(error)}
);
}
)};
console.log ( быки) вернет массив данных, как и ожидалось. console.log (this.state.sectionListData [0] .data) вернет значение «неопределенное». Я не могу заставить его обновить индекс вложенного массива для SectionList.