Я использую тему панели инструментов reactstrap
Боковые меню заполнены массивом объектов меню.
Я хочу, чтобы:
заполнить массив из XHR
установите BLOB-объект необработанных данных в качестве глобальной переменной для использования остальной частью приложения.
Вот что я пытаюсь ...
class ClusterItems extends Component {
constructor (props) {
super(props)
this.state = {
apiurl: ' ',
clusterItems: [
{
name: 'Clusters',
title: true,
wrapper: { element: '', attributes: {} },
class: ''
},
{
divider: true
}
]
}
}
componentDidMount () {
const apiurl = 'http://validapiurl/clusters'
axios.get(apiurl).then(results => (
this.state.clusterItems.push({
icon: 'icon-layers',
name: item.clusterName,
url: '/clusters' + item.clusterName + '/instances'
})
))
}
}
Часть, которую мне не хватает, - это то, как export this.state.clusterItems как ARRAY и как сделать глобальный экспорт большого двоичного объекта данных clusters.
зачем именно глобал? с помощью response вы можете передать данные дочернему компоненту в качестве реквизита. Обычно это делается с помощью React. Однако если вам нужно состояние приложения, вы можете использовать библиотеку состояний, такую как redux или MobX. Опишите Зачем, вы хотели бы глобально, и, возможно, мы сможем указать вам в правильном направлении :)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если вы хотите добавить результаты в состояние, чтобы затем использовать его, вы можете сделать что-то вроде
results => this.setState({ clusterItems: this.state.clusterItems.concat(theItemYouWantToAdd)})