前提・実現したいこと
以下のエラーを解消したいです。
ERROR in ./resources/ts/components/CategoryLists.tsx Module build failed (from ./node_modules/babel-loader/lib/index.js): SyntaxError: /work/resources/ts/components/CategoryLists.tsx: Missing semicolon. (7:4) 5 | 6 | // typescript設定 > 7 | type Category = { | ^ 8 | id: number; 9 | name: string; 10 | created_at: Date;
該当のソースコード
CategoryLists
1import React, { useEffect, useState } from 'react'; 2// import * as api from './../api/CategoryAPI'; 3import axios from 'axios'; 4import ReactDOM from 'react-dom'; 5 6// typescript設定 7type Category = { // ← エラー箇所 8 id: number; 9 name: string; 10 created_at: Date; 11 updated_at: Date; 12}; 13 14const CategoryLists = () => { 15// const CategoryLists: React.VFC = () => { 16 // typescriptを設定する 17 const [categories, setCategories] = useState<Category[]>([]) 18 // const [categories, setCategories] = useState([]) 19 20 // カテゴリーAPIを取得する 21 const getCategories = async () => { 22 const { data } = await axios.get<Category[]>('api/categories'); 23 // const { data } = await axios.get('api/categories'); 24 setCategories(data); 25 } 26 27 // getCategoriesを出力する 28 useEffect(() => { 29 getCategories(); 30 }) 31 32 // 本文 33 return ( 34 // 出力 35 <ul id="categoryLists" className="c-input__lists"> 36 { categories.map(category => { 37 <li key="{category.id}" className="c-input__list"> 38 <input type="checkbox" id="{category.id}" defaultValue="{category.id}" /> 39 <label htmlFor="{category.id}">{category.name}</label> 40 </li> 41 })}; 42 43 {/* <li className="c-input__list"> 44 <input type="text" id="2" /> 45 <label htmlFor="2">いいい</label> 46 </li> */} 47 </ul> 48 ); 49} 50 51if (document.getElementById('categoryLists')) { 52 ReactDOM.render(<CategoryLists />, document.getElementById('categoryLists')); 53} 54
試したこと
1.末尾にセミコロンを追加
[参考] https://www.curict.com/item/5e/5e11535.html
type Category = { - id: number - name: string - created_at: Date - updated_at: Date - } + id: number; + name: string; + created_at: Date; + updated_at: Date; + };
※ 「tslint.jsonの "semicolon" 設定を削除するか、false を指定して無効にします。」は非推奨と記載されているので行いませんでした。
2.node_module再インストール
[参考] https://ticklecode.com/npmcachedelete/
npm cache clean --force rm -rf ~/.npm rm -rf node_modules
3.Laravelキャッシュクリア
[参考] https://qiita.com/Ping/items/10ada8d069e13d729701
php artisan cache:clear php artisan config:clear php artisan route:clear php artisan view:clear composer dump-autoload php artisan clear-compiled php artisan optimize php artisan config:cache
補足情報(FW/ツールのバージョンなど)
Laravel Framework 8.47.0 npm 6.14.12 react 17.0.2 @types/react 17.0.11 typescript 4.3.2
回答1件
あなたの回答
tips
プレビュー