[React] JavescriptからTypescriptにしたい
Q&A
Closed
解決したいこと
ReactのJavescriptでうまくいったデータをそのまま、
typescriptに持ってきたらエラーとなります。
解決方法を教えて下さい。
発生している問題・エラー
Failed to compile.
/Users/daisukemoriair/Desktop/react-animation/src/components/Api.tsx
TypeScript error in /Users/daisukemoriair/Desktop/react-animation/src/components/Api.tsx(27,28):
Property 'id' does not exist on type 'never'. TS2339
25 | <main>
26 | {articles.map((item) => (
> 27 | <div key={item.id}>
| ^
28 | <p className="title">
29 | {item.title}
30 | </p>
該当するソースコード
import React, { useState, useEffect } from 'react';
import axios from 'axios';
const Api: React.FC = () => {
const URL = 'http://api.moemoe.tokyo/anime/v1/master/2020/4';
const [articles, setArticles] = useState([]);
console.log(articles);
useEffect(() => {
fetchArticles();
}, []);
const fetchArticles = async () => {
try {
const res = await axios.get(URL);
setArticles(res.data);
} catch (error) {
console.error(error);
}
}
return (
<div className="top">
<main>
{articles.map((item) => (
<div key={item.id}>
<p className="title">
{item.title}
</p>
<a
href={item.public_url}
rel="noopener noreferrer"
target="_blank">Page</a>
<a
href={`https://twitter.com/${item.twitter_account}`}
rel="noopener noreferrer"
target="_blank">Twitter</a>
</div>
))}
</main>
</div>
);
}
export default Api;
自分で試したこと
関数のところに: React.FC
を付加
0