interface ListData { comment: string title: string } const Page = () => { const [List, setList] = useState<ListData[]>([]); useEffect(() => { axios("http://hoge").then(res => { setList(res.data); }); }, []);
上記のコードでデータベースからデータをとってくるのですが、帰ってくるデータが
{ id: number, comment: string, title: string, user_id: number }
で帰ってきます。ここでわからないのでListは型Listdataの配列なのですが,
setList(res.data)を行っても特にエラーが起こりません。
なせ、型エラーが起こらないのでしょうか?
エラーが起こらないのは、どのタイミングですか?
TypeScriptの構文記載時ですか?
それとも、TypeScriptを、JavaScriptにコンパイルしたあとですか?
後者であれば、JavaScriptになってしまったあとの話なので、
(非同期通信と思われるため)型の違いに対してのエラーは起きません。
前者は、useState<ListData[]>の時点で、resの型保証をしてしまっているとみられてしまうので、
なんにせよエラーは起きないかと・・・。