他和 Theme Provider 很像,其实就是用 context 在传递样式 object 的方法。
import React from 'react';
import ReactDOM from 'react-dom';
import { StylesProvider } from '@material-ui/core/styles';
function App() {
return (
<StylesProvider jss={jss}>...</StylesProvider>
);
}
ReactDOM.render(<App />, document.querySelector('#app'));
这部分之前已经讲解过了就不再赘述了,官方文件内有详细的内容。
这个 hook 之前的介绍也讲解过了,返回了一个 theme ,你可以function component中使用它。
export default function MyComponent() {
const theme = useTheme();
return <div>{`spacing ${theme.spacing}`}</div>;
}
使用 higher-order component 的模式与一个具有function component的样式表相连。它不会修改传递给它的组件;相反的,它返回一个带有 classes 属性的新组件。这个 classes 对象包含了在 DOM 中注入的类名(class names)。
你可能会注意到一些有趣的细节:
higher-order component: 应该用於包装组件。
const styles = {
root: {
backgroundColor: 'red',
},
};
function MyComponent(props) {
return <div className={props.classes.root} />;
}
export default withStyles(styles)(MyComponent);
提供 theme object 作为参数,以便组件可以渲染。
Component: 将被包装的组件。
Component: 新建的组件。
import React from 'react';
import { withTheme } from '@material-ui/core/styles';
function MyComponent(props) {
return <div>{props.theme.direction}</div>;
}
export default withTheme(MyComponent);
那麽今天的内容就到这边了,至此相信大家对这个UI库已经有一些基本的认识了吧,明天会讲解 Customization (自订) 组件的部分。
React 的表单验证篇总共会三篇,这篇我们会自己手刻一个验证输入值是否合法的表单,而在後面两篇文章...
大家好,我是CK!这次要来挑战学习测试纪录大全! 为何要选择挑战测试? 由於是菜鸟工程师而且许多职缺...
前一天,我们使用了simple_form_for提到了新增表单写法,而今天要讲一个上传情境。这个上传...
昨天分享了特性组合的一般单独的使用方法, 今天要来分享一下他们的 Combo 连技和相关用到的东西...
好的好的,经过了前几篇文章之後,想必大家应该对 Coroutine 有一些了解了吧,我在这边快速复习...