J'utilise la version 1.2.1 de material-ui et j'essaie d'écraser le composant AppBar pour qu'il soit transparent. La documentation explique comment écraser les styles ici .
Mon code:
import React, { Component } from 'react';
import AppBar from '@material-ui/core/AppBar';
import Toolbar from '@material-ui/core/Toolbar';
import logo from '../Assets/logo.svg';
class NavigationBar extends Component {
render() {
const styles = {
root: {
backgroundColor: 'transparent',
boxShadow: 'none',
},
};
return (
<AppBar position={this.props.position} classes={{ root: styles.root }}>
<Toolbar>
<img src={logo} style={{ height: '28px' }} />
</Toolbar>
</AppBar>
);
}
}
export default NavigationBar;
Mais cela ne donne aucun résultat. Est-ce que j'essaie de remplacer le texte incorrect? Je ne sais pas où je me trompe ici ...
Cette réponse complète @Nadun answer - il mérite le crédit. Pour remplacer les classes matérielles, nous devons comprendre ces choses:
1. Ajoutez vos styles dans une variable const en haut
const styles = {
root: {
backgroundColor: 'transparent !important',
boxShadow: 'none',
paddingTop: '25px',
color: '#FFFFFF'
}
};
2. Nous devons utiliser une fonction d'ordre supérieur avec "withStyles" pour remplacer les classes matérielles ui
export default withStyles(styles)(NavigationBar);
. Maintenant, ces styles nous sont disponibles en tant qu'accessoires dans la fonction de rendu, essayez de le faire - console.log(this.props.classes)
- vous obtenez un nom de classe correspondant aux propriétés que vous incluez dans l'objet styles, comme - {root: "Instructions-root-101"}
.
Ajoutez cela avec l'attribut classes
render() {
const { classes } = this.props;
return (
<AppBar classes={{ root: classes.root }}>
// Add other code here
</AppBar>
)
}
import React, { Component } from 'react';
import AppBar from '@material-ui/core/AppBar';
import Toolbar from '@material-ui/core/Toolbar';
import logo from '../Assets/logo.svg';
import { withStyles } from '@material-ui/core/styles';
const styles = {
transparentBar: {
backgroundColor: 'transparent !important',
boxShadow: 'none',
paddingTop: '25px',
color: '#FFFFFF'
}
};
class NavigationBar extends Component {
render() {
return (
<AppBar className={classes.transparentBar}>
<Toolbar>
<img src={logo} style={{ height: '28px' }} />
</Toolbar>
</AppBar>
);
}
}
export default withStyles(styles)(NavigationBar);
trouver la partie importante comme:
backgroundColor: 'transparent !important'
reportez-vous à ce guide pour plus de détails: https://material-ui.com/customization/overrides/
j'espère que ceci vous aidera