Javascript MaterialUIV4在html DOM类属性中显示组件名称?
从MaterialUIV3迁移到v4后,注意到HTML中class属性中的react组件/函数名 这是预期的吗?这可能会以某种方式影响重写类属性,在尝试使用不适用的新样式进行重写时,这些类属性已经注意到问题 也有可能移除这些吗 组件名称包括:WrapperComponent、withRouter、CustomerDetailsContainer等 材质UI用于为样式化组件生成唯一的类名,以启用样式隔离。根据当前环境的不同,类名前缀也不同Javascript MaterialUIV4在html DOM类属性中显示组件名称?,javascript,html,css,reactjs,material-ui,Javascript,Html,Css,Reactjs,Material Ui,从MaterialUIV3迁移到v4后,注意到HTML中class属性中的react组件/函数名 这是预期的吗?这可能会以某种方式影响重写类属性,在尝试使用不适用的新样式进行重写时,这些类属性已经注意到问题 也有可能移除这些吗 组件名称包括:WrapperComponent、withRouter、CustomerDetailsContainer等 材质UI用于为样式化组件生成唯一的类名,以启用样式隔离。根据当前环境的不同,类名前缀也不同 在非生产模式下,组件的名称用作类名前缀 在生产模式下,默
- 在非生产模式下,组件的名称用作类名前缀
- 在生产模式下,默认情况下,
用作类名前缀jss
process.env.NODE\u env
来伪造环境,以查看类名前缀中的更改
// change to "production" to see the different in classname prefix
process.env.NODE_ENV = "development";
class App extends React.Component {
static displayName = "MyFabulousApp";
render() {
const { classes } = this.props;
return <div className={classes.root}>Hello world</div>;
}
}
const styles = {
root: {
backgroundColor: "grey"
}
};
const AppWithRouter = withRouter(App);
const MyApp = withStyles(styles)(AppWithRouter);
console.log(AppWithRouter.displayName); // withRouter(MyFabulousApp)-root-1
生产中
jss1
现场演示
这只是在开发模式下(以便更容易地说出生成样式的组件)。在生产模式下,这些类名将只是
jssxxx
。此命名不会影响重写类属性。@RyanCogswell这是一些有用的信息,特别是关于重写的信息。
jss1