169 похожих чатов

Есть фича Layouts. Состоит из components. Что бы удобно импортировать

компоненты фичи, я в index.ts файле реэкспортирую эти компоненты(рис. 1)

Aside простой компонент
export const Aside = ({className}: Props) => {
return <div className={className}>Aside</div>;
};

Хочу его стилизовать через styled-components.

Делаю так
import {Aside} from 'features/Layouts';

export const StyledAside = styled(Aside)`
width: 300px;
`;
Получаю ошибку Cannot read properties of undefined (reading 'Aside')

Если импортировать с полным путем до Aside, то компонент стилизуется
Вот так:
import {Aside} from 'features/Layouts/components/Aside';

Не пойму.. Вебпак не смог пути правильные вывести или стайлед компонент не смог их понять?

Выводил в консоль.лог
import * as Layouts from 'features/Layouts';
console.log(Layouts);
Вроде есть этот Aside (рис. 2)

27 ответов

5 просмотров

Сделай console.log(Aside) в случае с импортом из index.tsx, перед тем как предеавать его в styled(Aside)

Андрей-Иванов Автор вопроса
Denis Deniskov
Сделай console.log(Aside) в случае с импортом из i...

Та же ошибка будет. Вопрос почему..) Cannot read properties of undefined (reading 'Aside')

Андрей Иванов
Та же ошибка будет. Вопрос почему..) Cannot read ...

Ну сделай import * as blablabla from 'features/Layouts'; console.log(blablabla) Посмотри что модуль вообще экпортирует

Андрей-Иванов Автор вопроса
Denis Deniskov
Ну сделай import * as blablabla from 'features/Lay...

На втором скрине) Самое последнее предложение

Андрей Иванов
На втором скрине) Самое последнее предложение

import {Aside} from 'features/Layouts'; console.log(Aside) Что будет в логе? undefined?

Андрей-Иванов Автор вопроса
Андрей-Иванов Автор вопроса
Denis Deniskov
А стек у этой ошибки есть?

Да, он ведет до места где используется export const StyledAside = styled(Aside)` width: 300px; `;

ну хоршо, убери это строку и воткни там console.log(Aside), в нем будет undefined?

А у тебя там случайно нет циклической зависимости? ну что-то типо index.tsx -> styled.ts -> index.tsx?

Андрей-Иванов Автор вопроса

Ну как сказать. Вроде нет. И лейаут и асайд реэкспортируются из index.tsx А уже в лейауте(styles.ts) имотрируется асайд

Андрей Иванов
Ну как сказать. Вроде нет. И лейаут и асайд реэксп...

Это vscode? Нет плагина который бы следил за этим (всяко лучше чем самому по файлам бегать)

Андрей-Иванов Автор вопроса
Denis Deniskov
И где

В лейуте мне нужны стили которые описал в styles)

Андрей Иванов
В лейуте мне нужны стили которые описал в styles)

У тебя L/styles.tsx ссылается на index.tsx L/Index.tsx на L/styles.tsx index.tsx на L/index.tsx

Андрей-Иванов Автор вопроса
Denis Deniskov
У тебя L/styles.tsx ссылается на index.tsx L/Inde...

Не очень понятно, но спасибо, посижу покурю это)

Андрей Иванов
Не очень понятно, но спасибо, посижу покурю это)

Вообще если используешь eslint для него можешь поставить правило https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-cycle.md

Андрей-Иванов Автор вопроса
Denis Deniskov
Вообще если используешь eslint для него можешь пос...

Добавил правило. Не ругается import {Aside} from 'features/Layouts';

Андрей-Иванов Автор вопроса
Андрей Иванов
Добавил правило. Не ругается import {Aside} from '...

"import/no-cycle": 2 а так? Ну странно ну проверь руками есть ли цикл, перейди, по файликам выше как я писал, если вернешься к тому же файлику с которого начинал, значит цикл есть=) Может правило не отрабатывает, а может я ошибся и цикла нет

Андрей-Иванов Автор вопроса
Denis Deniskov
"import/no-cycle": 2 а так? Ну странно ну провер...

С Aside перейти? import {Aside} from 'features/Layouts';

Андрей Иванов
С Aside перейти? import {Aside} from 'features/La...

Да можешь с любого начинать, если это цикл ты в любом случае по всем по ним пройдешься

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
Кто создает тут ботов для телеграмм групп ?
Antskup
8
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
Я хочу запустить свой проект в тг. Что-то между пирамидой и майнилкой. Еще подобного ничего не было. Уникальная идея. Нужен именно не бот, а приложение. С ввод, выводом тон...
Павел А.
6
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
How to create an OS in C? what to study?
Linus
18
Карта сайта