kotlin - 在 Kotlin React 应用程序中导入外部 css
问题描述
我想在我的 Kotlin-React 应用程序中使用像 bootstrap/material 这样的 css 库。有没有办法导入那些外部 css 库?有一个Kotlin 风格的包装器,但不知道如何使用它来导入 css。
解决方案
这不是直接回答如何导入一段外部 CSS,而是让我向您展示我如何成功地将Material UI库与 Kotlin 和 React 一起使用。这是该项目的演示:https ://krzema12.github.io/fsynth/
请参阅为 Material UI 组件键入的示例 Kotlin:
@file:JsModule("@material-ui/core/ListItem")
package it.krzeminski.fsynth.typings.materialui.widgets
import react.RProps
import react.RState
import react.ReactElement
@JsName("default")
external class ListItem : react.Component<RProps, RState> {
override fun render(): ReactElement?
}
(来源:https ://github.com/krzema12/fsynth/blob/master/web/src/main/kotlin/it/krzeminski/fsynth/typings/materialui/widgets/ListItem.kt )
和一个方便的包装:
fun RBuilder.materialListItem(handler: RHandler<RProps>) = child(ListItem::class) {
handler()
}
(来源:https ://github.com/krzema12/fsynth/blob/master/web/src/main/kotlin/it/krzeminski/fsynth/typings/MaterialUiBuilders.kt#L42 )
然后我可以通过以下方式使用这个组件:
materialListItem {
...children...
}
(来源:https ://github.com/krzema12/fsynth/blob/master/web/src/main/kotlin/it/krzeminski/fsynth/App.kt )
根据我从Material UI 的这个文档页面的理解,它可以工作并且足够了,因为 CSS 嵌入在 JavaScript 中。
推荐阅读
- typescript - 类型{}、对象、对象打字稿之间的区别
- javascript - 如何从一个对象数组中获取值到另一个对象数组中
- javascript - 有没有办法在“允许使用麦克风弹出”(chrome最新)中获得“允许”按钮单击事件?
- html - 如何圆桌角
- javascript - 如何循环访问数组中的本地存储对象或转换 JSON 中的数据
- css - 覆盖 Css 文件
- excel - 如何摆脱某些零公式?
- javascript - 当我执行 $yarn prod 时,来自 innerHTML 的图像未显示在 dist 文件夹中
- php - 如何限制 SQL 中的输入时间间隔?
- variables - 如何在不使用`n`r的情况下发送新行?没有输入