css - 尝试使用 React-JSS 实现动态值
问题描述
我的团队在我们的 React 项目中使用了这个 CSS 库:https ://cssinjs.org/react-jss/?v=v10.1.1#dynamic-values
我正在尝试使用这样的两个动态值:
import React from 'react'
import {createUseStyles} from 'react-jss'
const useStyles = createUseStyles({
duration: (height, marginTop) => ({
marginTop: marginTop,
height: height
})
});
const Appointment = ({companyName, vehicleId, duration, isHalfHour=false}) => {
const height = (duration / 0.6).toString().concat('%');
const marginTop = isHalfHour ? '20px' : '0'; // Note: 20px is 50% of timeContainer.height
const classes = useStyles(height, marginTop);
return (
<div className={classes.duration}>
Sample Text
</div>
)
};
有趣的是,当我刚刚获得height
变量时,一切正常。我现在也想通过marginTop
。 height
仍然受到尊重,但它忽略了marginTop
。
我什至对这样的东西进行了硬编码:
const classes = useStyles(height, '20px');
但这并没有解决问题。
所以我很好奇我做错了什么以至于duration
没有使用样式中的第二个参数?
解决方案
临睡前,我尝试了最后一件事:我一直想知道为什么只接受第一个参数而忽略第二个参数。所以我将参数名称更改为props
然后传入:{height, marginTop}
瞧,它起作用了!!!
漫长的一天!
推荐阅读
- javascript - 如何在反应中将两个不同的数据推送到数组中
- apache-flink - Apache Flink 中的窗口和状态
- reactjs - 是否有一种有效的方法可以根据当前通过 uid 登录的用户返回数据?
- flutter - 我如何在颤动中获取文档ID
- xml - IMPORT XML 函数 - 股票价格 - Google 表格
- javascript - JavaScript Every() 方法返回假,即使它是真的?
- linux - 更改 Dockerfile 中的某些内容时,如何阻止 docker 从头开始下载所有内容?
- java - 如何使用 PDFViewer 在 Android 的 Webview 中打开 pdf
- javascript - Jquery 使用 for 循环的值附加到 id 属性
- julia - 模块中不可见的其他模块