Je joue un peu avec Material-UI . Existe-t-il des options pour créer une disposition de grille (comme dans Bootstrap )?
Sinon, comment ajouter cette fonctionnalité?
Il y a un composant GridList mais je suppose qu'il a un but différent.
Les interfaces utilisateur des matériaux ont mis en œuvre leur propre présentation Flexbox.
Il semble qu'ils initialement voulus se gardent comme une simple bibliothèque de 'composants'. Mais l’un des développeurs principaux décida que c’était trop important de ne pas avoir le leur . Il a maintenant été fusionné dans le code principal et était publié avec v1.0. .
Vous pouvez l'installer via:
npm install @material-ui/core
Il est maintenant dans la version officielle documentation avec exemples de code .
D'après la description de spécifications de conception des matériaux :
Les listes de grille sont une alternative aux vues de liste standard. Les listes de grilles sont distinctes des grilles utilisées pour les mises en page et autres présentations visuelles.
Si vous recherchez une bibliothèque de composants Grid beaucoup plus légère, j'utilise React-Flexbox-Grid , l'implémentation de flexboxgrid.css
dans React.
En plus de cela, React-Flexbox-Grid a bien joué avec les deux material-ui , et react-toolbox (l'implémentation de conception de matériau alternative) .
J'ai cherché une réponse à cette question et le meilleur moyen que j'ai trouvé était d'utiliser Flex et le style en ligne sur différents composants.
Par exemple, pour que deux composants de papier divisent tout mon écran en deux composants verticaux (rapport 1: 4), le code suivant fonctionne bien.
const styles = {
div:{
display: 'flex',
flexDirection: 'row wrap',
padding: 20,
width: '100%'
},
paperLeft:{
flex: 1,
height: '100%',
margin: 10,
textAlign: 'center',
padding: 10
},
paperRight:{
height: 600,
flex: 4,
margin: 10,
textAlign: 'center',
}
};
class ExampleComponent extends React.Component {
render() {
return (
<div>
<div style={styles.div}>
<Paper zDepth={3} style={styles.paperLeft}>
<h4>First Vertical component</h4>
</Paper>
<Paper zDepth={3} style={styles.paperRight}>
<h4>Second Vertical component</h4>
</Paper>
</div>
</div>
)
}
}
Maintenant, avec quelques calculs supplémentaires, vous pouvez facilement diviser vos composants sur une page.
J'espère que ce n'est pas trop tard pour donner une réponse.
Je recherchais également un système de grille bootstrap simple, robuste, flexible et hautement personnalisable à utiliser dans mes projets.
Le meilleur que je connaisse est react-pure-grid
https://www.npmjs.com/package/react-pure-grid
react-pure-grid
vous donne le pouvoir de personnaliser chaque aspect de votre système de grille tout en offrant des paramètres par défaut intégrés qui conviennent probablement à tout projet.
Utilisation
npm install react-pure-grid --save
-
import {Container, Row, Col} from 'react-pure-grid';
const App = () => (
<Container>
<Row>
<Col xs={6} md={4} lg={3}>Hello, world!</Col>
</Row>
<Row>
<Col xsOffset={5} xs={7}>Welcome!</Col>
</Row>
</Container>
);
La façon dont je fais est d'aller à http://getbootstrap.com/customize/ et seulement cocher "système de grille" à télécharger. Il y a bootstrap-theme.css
et bootstrap.css
dans les fichiers téléchargés, et je n'ai besoin que de ces derniers.
De cette façon, je peux utiliser le système de grille de Bootstrap, avec tout le reste de Material UI.
Je viens d'utiliser https://react-bootstrap.github.io/ pour Responsive Layout et Material-ui pour tout le composant
J'ai eu du mal à trouver un cadre d'interface utilisateur capable de mettre en œuvre les normes de comportement réactif de Material Design. J'ai donc créé deux packages qui implémentent un système de grille pour Material Design:
Ces packages respectent les normes pour interface utilisateur réactive décrites par Google. Toutes les tailles de fenêtres spécifiées dans leurs normes sont prises en charge en prenant en compte les gouttières appropriées, le nombre de colonnes recommandé et même le comportement d'une présentation dépassant 1600 dp. Il doit se comporter comme recommandé pour chaque périphérique dans le guide Device Metrics .
C'est une vieille question mais google me ramène ici. Après une petite recherche, j'ai trouvé un bon paquet: https://www.npmjs.com/package/react-grid-system
Je pense que c'est le meilleur, facile à utiliser et léger.