我這里有這個代碼。我不斷收到錯誤:類型錯誤:無法讀取未定義的屬性“map”。以下是一些事實:我從前端 javascript 文件獲取數據。所以不應該有任何異步問題。singleCategory.title始終正確顯示。僅當我刷新頁面時才會發生該錯誤。如果我注釋掉地圖代碼并添加代碼。這樣 React 就可以在不刷新的情況下注入它。有用。僅當刷新頁面或嘗試導航到該頁面時,才會出現錯誤。為什么singleCategory.title顯示正確但使用地圖未定義?此外,地圖僅在刷新時未定義。如果注入代碼則可以正常工作。const CoursesCategories: React.FC = () => { const [singleCategory, setSingleCategory] = useState<CategoriesInterface>([] as any); useEffect(() => { const fullUrl = window.location.href; const segments = new URL(fullUrl).pathname.split('/'); const id = segments.pop() || segments.pop(); for (let category of Categories ) { if (category.url === id) { setSingleCategory(category); console.log(singleCategory) } } }, [singleCategory]); return ( <div> { singleCategory.courses !== [] ? ( <div> <CategoryTitle title={singleCategory.title} /> <div className={wrapper.headerWrapper}> { singleCategory.courses.map((course: CoursesInterface) => ( <h2 key={course.id}>{course.title}</h2> ) ) } </div> </div> ) : '' } </div> )}編輯1.如果我這樣寫我就明白了。無法讀取未定義的屬性“長度”{ singleCategory.courses.length > 0 && singleCategory.courses.map((course: CoursesInterface) => ( <h2 key={course.id}>{course.title}</h2> ) )}
無法讀取未定義錯誤的屬性“映射”。反應打字稿
慕神8447489
2023-10-14 18:53:42