Giter VIP home page Giter VIP logo

react-flexbox-grid's Introduction

react-flexbox-grid

npm version Build Status NPM Status

React-Flexbox-Grid is a set of React components that implement flexboxgrid.css. It's built on top of some the trendiest proposals like CSS Modules (written in SASS), Webpack and ES6. The library harmoniously integrates with your Webpack workflow and it's easily customizable and very flexible.

http://roylee0704.github.io/react-flexbox-grid/

Usage

Although there are other ways to use React-Flexbox-Grid, the recommended way is to create a Webpack workflow with Babel Loader, CSS Loader and SASS Loader. A good starting point is react-flexbox-grid-example, be sure to also checkout webpack config in the example.

Basic webpack configuration

You must configure webpack to load flexboxgrid with CSS Modules, otherwise components from react-flexbox-grid will just have empty class names.

To do so, first add the loaders required as devDependencies:

npm i -D npm style-loader css-loader

Then configure the loaders:

{
  test: /\.css$/,
  loader: 'style!css?modules',
  include: /flexboxgrid/,
}

If you have another loader which affects flexboxgrid, exclude it from that loader. In this case, also using postcss loader:

{
  test: /\.css$/,
  loader: 'style!css!postcss',
  include: path.join(__dirname, 'node_modules'), // oops, this also includes flexboxgrid
  exclude: /flexboxgrid/, // so we have to exclude it
}

Because webpack stacks loaders together, it doesn't override them.

Note: If you need isomorphic support see roylee0704#28 (comment).

Example

Looking for example to use react-flexbox-grid? Head over to react-flexbox-grid-example.

Installation

React-Flexbox-Grid can be installed as an npm package:

npm i -S react-flexbox-grid

It has peer dependency requirements on classnames and flexboxgrid modules, which can be installed and added to the package manifest like so:

npm i -S classnames flexboxgrid

Once you have the workflow ready, you can just require and use the components:

import React from 'react'
import { Grid } from 'react-flexbox-grid/lib/index'

React.render(<Grid />, document.querySelector('#main'))

The previous code creates a React container component based on React Flexbox Grid container. It's important to notice that requiring a module from the exposed root of the package will import the SASS of the component.

I encourage you to work with webpack but if you want to use React Flexbox Grid in an old fashioned way, you must generate a build with all the css and javascript and include it in your index.html. Then you can use the components exposed in the window object.

Code snippets

const {Grid, Row, Col} = require('react-flexbox-grid');

const App = React.createClass({
  render() {
    return (
      <Grid>
        <Row>
          <Col xs={6} md={3}>Hello, world!</Col>
        </Row>
      </Grid>
    );
  }
});

Contributors

Roy Lee Helder Santana Matija Marohnić
Roy Lee Helder Santana Matija Marohnić

License

MIT

react-flexbox-grid's People

Contributors

roylee0704 avatar heldr avatar silvenon avatar mbrookes avatar gingur avatar ankitduseja avatar arshsingh avatar vipoo avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.