Здравствуйте, только начинаю изучать TypeScript, подскажите что не нравится компилятору?))
Пишет следущее: Элемент неявно имеет тип "any", так как выражение типа "string" не может использоваться для индексации типа "IRoutesMap".
В типе "IRoutesMap" не обнаружена сигнатура индекса с параметром типа "string".
import { Settings } from "../pages/Settings";
import { KbApp } from "../pages/KbApp";
import { About } from "../pages/About";
import { NotFound404 } from "../pages/NotFound404";
interface IRoutes {
name?: string;
path: string
component: () => JSX.Element,
exact?: boolean
}
const routes: IRoutes[] = [
{
name: 'settings',
path: '/',
component: Settings
},
{
name: 'kbApp',
path: '/kb-app',
component: KbApp
},
{
name: 'about',
path: '/about',
component: About
},
{
path: '**',
component: NotFound404,
exact: false
}
];
interface IRoutesMap {
name: string;
}
const routesMap = {} as IRoutesMap;
routes.forEach(route => {
if('name' in route && route.name !== undefined){
routesMap[route.name] = route.path; // тут выдает ошибку
}
});
export { routes, routesMap };