Ты же сам там и то и другое прописал, выше же писал.
Олег, ты сообщения об ошибках вообще читаешь? Тут даже гугл-переводчик поможет, это же не художественный текст. Он тебе пишет: styles.ts(5, 3): 'bgActive' is declared here. То есть bgActive объявлена здесь (то есть требуется). Где ты ее тут передал?
Поправил эти ошибки пропали. Теперь ошибка в AppStyled: (alias) const AppStyled: StyledComponent<"div", DefaultTheme, AppStyledProps, never> import AppStyled No overload matches this call. Overload 1 of 2, '(props: Pick<Pick<Pick<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | ... 253 more ... | "css"> & { ...; } & AppStyledProps, "ref" | ... 257 more ... | "bgActive"> & Partial<...>, "ref" | ... 257 more ... | "bgActive"> & { ...; } & { ...; }): ReactElement<...>', gave the following error. Property 'bgActive' is missing in type '{ children: Element; isHomePage: boolean; }' but required in type 'Pick<Pick<Pick<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | ... 253 more ... | "css"> & { ...; } & AppStyledProps, "ref" | ... 257 more ... | "bgActive"> & Partial<...>, "ref" | ... 257 more ... | "bgActive">'. Overload 2 of 2, '(props: StyledComponentPropsWithAs<"div", DefaultTheme, AppStyledProps, never, "div">): ReactElement<StyledComponentPropsWithAs<"div", DefaultTheme, AppStyledProps, never, "div">, string | ... 1 more ... | (new (props: any) => Component<...>)>', gave the following error. Property 'bgActive' is missing in type '{ children: Element; isHomePage: boolean; }' but required in type 'Pick<Pick<Pick<DetailedHTMLProps<HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "slot" | "style" | ... 253 more ... | "css"> & { ...; } & AppStyledProps, "ref" | ... 257 more ... | "bgActive"> & Partial<...>, "ref" | ... 257 more ... | "bgActive">'.ts(2769) styles.ts(5, 3): 'bgActive' is declared here. styles.ts(5, 3): 'bgActive' is declared here.
Вот добовил boolean ошибка не уходит. Хоть я уже и расписал все, но еще раз уточню: ты прописал то, что ожидаешь на вход в этот компонент, и тут все ОК. Но передаешь ты в итоге что?
Олег, ну ты ппц... Зачем ты лезешь в следствие, когда тебе надо разобраться с причиной? Я тебе выше про что писал? Про isHomePage. А ты мне что показываешь? И во что сам лезешь? Лезешь туда, куда передается эта переменная. Ты с этой переменной разобрался? Я что выше написал? Ты что, из моей репы только часть кода страницы выдернул, а остальное свое оставил? В чем логика? Еще раз: ТС ругается на ошибку типа не там, где ты сделал ошибку при объявлении типа и переменной, а там, где ты пытаешься передать что-то, что не соответствует ожидаемому. То есть у тебя написано: Какой тут тип у isHomePage? Такой, какой ей и был присвоен результатом выполнения функции. В данном случае никакой, потому что ты не выполнил никакого возврата. А откуда ТС знает, что ты хотел какой-то другой тип? Ты же ему никак не сказал об этом. Вот если бы ты написал Вот тогда бы он тебе уже здесь сказал "Ожидается boolean, а получаем ничего (void)". Но ты же здесь этого не написал? Поэтому ТС и молчит тут. А вот дальше, когда ты пытаешься эту переменную передать куда-то, где четко сказано "жду переменную с типом boolean", то тут и возникает ошибка, потому что передаешь void вместо boolean. Я понимаю почему ты ошибся с функцией. У меня-то написано Тут тоже нет слова return. Но это совсем не то же самое, что у тебя. У тебя-то тело функции обернуто в фигурные скобки, то есть буквально Здесь большая разница. Когда, как у меня, в скобки не взято, тогда написанное воспринимается сутью возврата, то есть у меня по сути выполняется Просто в сокращенном виде. А у тебя фигурные скобки, но нет return.
Вот вставляю из ПР тполность кусок твоего кода и все равно ошибки показывает.
Внимательней будь. Если ты тип не указывал, а тебе TS говорит, что переменная имеет такой-то тип, то верь не себе, а ему, и иди проверяй почему ТС видит эдак, а не так, как тебе надо.
Ну и что. А значение присвоил? У тебя здесь сравнение есть. А возвращаешь ты что? Где return? Вот у тебя функция и возвращает ничего (то есть void).
У тебя isHomePage тип - void. Чего ты хочешь? И return у тебя тут лишний, будет выведен просто как текст. Это же разметка, а не функция как таковая.