- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
每个都有不同的用例吗?什么时候应该使用 withStyles 而不是 makeStyles?
最佳答案
更新 此问题/答案适用于 Material-UI 的 v4。我在最后添加了一些 v5 信息/链接。
Hook API (makeStyles/useStyles
) 只能与函数组件一起使用。
Higher-order component API (withStyles
) 可以与类组件或函数组件一起使用。
它们都提供相同的功能,并且 withStyles
和 makeStyles
的 styles
参数没有区别。
如果您将它与函数组件一起使用,那么我建议您使用 Hook API (makeStyles
)。与 makeStyles
相比,withStyles
有一些额外的开销(并且在内部委托(delegate)给 makeStyles
)。
如果您要自定义 Material-UI 组件的样式,使用 withStyles
比仅仅为了调用 makeStyles/useStyles
用您自己的组件包装它更可取从那时起,您只需重新实现 withStyles
。
因此包装 Material-UI 组件可能类似于以下示例(来自 How to style Material-UI's tooltip? ):
const BlueOnGreenTooltip = withStyles({
tooltip: {
color: "lightblue",
backgroundColor: "green"
}
})(Tooltip);
对于 v5 的 Material-UI,styled
替换了 withStyles
和 makeStyles
。 How to style Material-UI's tooltip?包含 v5 示例。我还在 Using conditional styles in Material-UI with styled vs JSS 中进一步讨论了 v5 样式选项。 .
关于css - 使用 withStyles 比使用 makeStyles 有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57697664/
这是我的代码 import { withStyles, MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles'; impo
import * as React from "react"; import Button from "@material-ui/core/Button"; import * as PropTyp
我想在 withStyles 中使用 min()。 我现在这样声明它: maxWidth: "min(700, 90vw)" 我也试过 maxWidth: "min('700', '90vw')" 这
在尝试将我的 React 应用程序转换为 typescript 时,我不断收到以下错误,而且我一直无法弄清楚它在说什么。该应用程序在纯 JS 中运行良好。我正在使用 material-ui@next
我正在尝试将仪表板的组件拆分为更小的组件。但是,所有组件都依赖于 drawerWidth。我的第一个想法是让 drawerWidth 进入状态,这样我就可以将它传递给每个组件。但是,可变样式取决于 d
例如。 Child.js //assume there is s as styles object and used in this component class Child extends Com
我有以下内容: class StyledInput extends React.Component{ styles = (color, theme) => ({ underline: {
我的 package.json 看起来像这样。该应用程序工作正常,直到不久前我突然收到此错误。 "@material-ui/icons": "1.0.0-beta.42", "chartist
如何在 material-ui/core/styles.js 中模拟 withStyles 的实现? 这是测试: import React from 'react' import { shallow
当我将鼠标悬停在具有类 friendsListItem 的 ListItem 上时,我希望隐藏具有类操作的 ListItemSecondaryAction 元素。 我试过在样式中使用 decedent
我正在使用 material-ui withStylers 和 defaultProps 创建一个组件,但是当我尝试使用组件的 props 时,在样式对象中,我从来没有得到我的默认 props 的值,
我看了一下 this question ,但仍然设法让它发挥作用。 目的是将样式与组件文件分开,以便进行更清晰的设置。 当没有 theme 涉及时,它工作正常。 我确实尝试了几次迭代,有或没有包装 w
我正在做 react 项目,在这个项目中,我和我的同事正在使用 Material UI,出于某种原因,我想访问 DOM 节点 由 HOC 包装的另一个组件。为此,我使用了 React ref。但我只是
我的任务是让我们的 React redux 网络应用程序中的页面加载速度更快。 当加载页面的 Action 触发时,我们会看到大约 0.5 秒的小停顿。 我打开了探查器,乍一看似乎没有任何问题。 Fl
每个都有不同的用例吗?什么时候应该使用 withStyles 而不是 makeStyles? 最佳答案 更新 此问题/答案适用于 Material-UI 的 v4。我在最后添加了一些 v5 信息/链接
我正在尝试弄清楚如何注释以下样式的类型(我从纯 JavaScript 转换为 TypeScript 并添加了类型注释): import * as React from 'react' import {
在 React with material-ui 中,我尝试创建一个 JSX 组件,它接受通用参数并使用 withStyles HOC 来注入(inject)我的样式。 第一种方法是这样的: cons
我注意到用 生成的类makeStyles 并且钩子(Hook)的使用遵循以下命名法: 而用 生成的类withStyles 和 HOC 的使用遵循这一点: 有没有办法使用 makeStyles (我喜欢
我尝试将 Material UI Dashboard 转换为 TypeScript。 https://github.com/mui-org/material-ui/blob/master/docs/s
从 v3.9.x 升级到 MUI v4.0.2 后,我收到以下错误: You must pass a component to the function returned by connect. In
我是一名优秀的程序员,十分优秀!