Refers to a value, but is being used as a type here. Did you mean typeof ...?

Em mới làm quen typescript với reactjs . Em muốn một function trong object trả về một component thì phải làm như thế nào ạ. Em làm theo cách dưới nhưng báo lỗi : ‘SalaryPage’ refers to a value, but is being used as a type here. Did you mean ‘typeof SalaryPage’?

export type RouteProps = {
  id?: string;
  path: string;
  exact: boolean;
  name?: string;
  icon?: any;
  activeIcon?: any;
  component: (props: any) => any;
};

export const routes: RouteProps[] = [
  {
    path: '/',
    exact: true,
    name: 'Home',
    component: () => <HomePage/>,
  },
  {
    path: '/select-shop',
    exact: true,
    name: 'Select Shop',
    component:  () => <SelectShopPage/>,
  },
  {
    id: uniqid(),
    path: '/salary',
    exact: true,
    name: 'Salary Setting',
    icon: SalaryIcon,
    activeIcon: SalaryActiveIcon,
    component: () => <SalaryPage/>,
  },
];

Mọi người chỉ em phần này và giải thích cho em với ạ. Em cảm ơn nhiều


Sau 1 phút thử google thần chưởng, bạn thử xem các cách trong đây ?

3 Likes

Mình đã thử cách này rồi nhưng vẫn không được

Bạn đổi tên file thành .tsx chưa? Mình cũng vừa phải xử lí lỗi này và vấn đề nằm ở chỗ đuôi file. Ban đầu mình chỉ export các const ra thôi, nên đặt là .ts, sau cũng sửa lại trả về các FC như bạn và bị lỗi, đổi thành .tsx thì auto oke ngay. Trường hợp này thì câu trả lời tích xanh trong link Stack Overflow ở trên k được :)))

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?