Я прочитал документацию об инструментах для стилизованных компонентов. Мне удалось использовать стилизованные компоненты без плагина babel, но я не смог использовать компоненты стиля с плагином babel. После прочтения документации у меня сложилось впечатление, что лучше всего использовать макрос стилизованных компонентов.
В моем проекте используется
- невыгруженное приложение create-реагировать
- Машинопись.
Я установил следующие пакеты:
"dependencies": {
"styled-components": "^4.0.0"
},
"devDependencies": {
"@types/styled-components": "^4.0.1",
"babel-plugin-macros": "^2.4.2",
"babel-plugin-styled-components": "^1.8.0"
},
А здесь я использую стилизованные компоненты в .tsx
файле:
import styled from 'styled-components/macro';
К сожалению, я получаю эту ошибку:
[ts] Could not find a declaration file for module 'styled-components/macro'. '/Users/.../styled-components/dist/styled-components-macro.cjs.js' implicitly has an 'any' type.
Я могу заставить его работать, удалив /macro
часть оператора импорта, но тогда я упускаю более читаемые имена классов во время отладки, как я это понимаю.
@types/styled-components
не знает о модулеstyled-components/macro
. Вы всегда можете написатьdeclare module "styled-components/macro";
в новом.d.ts
файле, чтобы объявить модуль как типany
, но это не даст вам информации о типе. Как на самом деле выглядит API для модуляstyled-components/macro
? Он действительно идентичен основному модулюstyled-components
? - person Matt McCutchen   schedule 16.10.2018