【发布时间】:2019-02-06 03:41:30
【问题描述】:
我是 nextjs 的新手并做出反应。我正在使用 nextjs 从 api 获取数据并将其显示在视图中。这是我的代码。
const Index = props => (
<Layout>
<h1>Events</h1>
<ul>
{props.eventList.map(({ venue }) => (
<li key={venue.name}>
<a>{venue.name}</a>
</li>
))}
</ul>
</Layout>
);
Index.getInitialProps = async function() {
const res = await fetch("api link here");
let data = await res.json();
console.log(`Show data fetched. Count: ${data.events.length}`);
return {
eventList: data.events
};
};
现在我的 api 像这样返回数据
[
{
"id": 4303920,
"name": "Test Event",
"venue": {
"id": 1610,
"name": "Eiffel Tower Viewing Deck at Paris Las Vegas",
}
},
{
"id": 4323,
"name": "Test Event 2",
"venue": {
"id": 1610,
"name": "Eiffel Tower Viewing Deck at Paris Las Vegas",
}
}
]
我可以通过 props.eventList.map 函数访问场地详细信息,但我无法访问 ID 和名称。
【问题讨论】:
-
当您尝试您的代码时会发生什么?有错误吗?如果您在地图中使用控制台登录“地点”,则其中有什么?
-
我可以正常进入会场。但是当我无法访问名称(测试事件)时。它说名称未定义。