亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法讀取未定義錯誤的屬性“映射”。反應打字稿

無法讀取未定義錯誤的屬性“映射”。反應打字稿

慕神8447489 2023-10-14 18:53:42
我這里有這個代碼。我不斷收到錯誤:類型錯誤:無法讀取未定義的屬性“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>                                )                            )}
查看完整描述

1 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

{ singleCategory.courses?.length > 0

? ? && singleCategory.courses?.map((course: CoursesInterface) => (

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <h2 key={course.id}>{course.title}</h2>

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? )

? )}

因為在第一次渲染時該屬性不可用。


查看完整回答
反對 回復 2023-10-14
  • 1 回答
  • 0 關注
  • 99 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號