我遇到错误错误类型“从不”的属性“日期”不存在,它位于data.date
上。知道怎么解决吗?
import React from 'react'
import app from './../Flamelink'
function App() {
const [data, setData] = React.useState([])
React.useEffect(() => {
const fetchData = async () => {
const data = await app.content.get({
schemaKey: 'persons'
})
setData(data)
}
fetchData()
}, [])
return (
<ul>
{data.map(data => (
<li>{data.date}</li>
))}
</ul>
)
}
export default App
答案 0 :(得分:2)
首先,我将使用其他变量名称,而不是仅调用所有data
。这样可以避免variable shadowing errors。
如果您希望状态变量为data
,则调用从其他地方获取的答案,也许是result
。然后,在映射您的data
状态时,也可以调用当前值,例如item
或dataItem
。
第二,由于您似乎正在使用TypeScript,因此需要告诉TS data
状态数组的结构。
尝试一下:
function App() {
const [data, setData] = React.useState<Array<{date: string}>>([]);
React.useEffect(() => {
const fetchData = async () => {
const result = await app.content.get({
schemaKey: "persons"
});
setData(result);
};
fetchData();
}, []);
return (
<ul>
{data.map(item=> (
<li>
{item.date}
</li>
))}
</ul>
);
}