Я новичок в языке React и столкнулся с проблемой, связанной с распечаткой данного объекта / структуры данных.
Структура данных (JSON?)
{ "boards": [ { "groups": [ { "title": "Introduction" }, { "title": "Page Two" } ] } ] }
I Я уже могу напечатать this.state.boardData.boards
. Я нашел несколько тем о функциях map()
, но не могу заставить их работать.
Мой compentDidMount (включая monday.api и GraphQL) :
monday.listen("context", res => {
this.setState({context: res.data});
monday.api(`query ($boardIds: [Int]) { boards (ids:$boardIds) { groups { title } } }`,
{ variables: {boardIds: this.state.context.boardIds} }
)
.then(res => {
this.setState({boardData: res.data});
});
})
Моя функция map ():
const navItems = this.state.boardData.boards.map((title) =>
<a className="pageview__nav-item">{JSON.stringify(title, null, 2)}</a>
);
Предоставленная ошибка:
TypeError: Cannot read property 'map' of undefined
Я предполагаю, что это потому, что значения пусты, когда я Пытаюсь сопоставить значения. Я попытался инициализировать данные, но безуспешно:
constructor(props) {
super(props);
// Default state
this.state = {
settings: {},
name: "",
boardData: {groups: []}
};
}
Я также попытался инициализировать переменную, но, похоже, он жалуется на уже объявленные переменные.
Кто угодно может указать мне направо направление? Это было бы действительно полезно.