An open API service indexing awesome lists of open source software.

https://github.com/ryotasugawara/react-css-context

Isomorphic-loading CSS in our React Application.
https://github.com/ryotasugawara/react-css-context

css isomorphic javascript react typescript universal-javascript universal-react

Last synced: 2 months ago
JSON representation

Isomorphic-loading CSS in our React Application.

Awesome Lists containing this project

README

        

# react-css-context

Async Loading CSS file in our React Application.
Of course we can use in Isomorphic Application!

## Install

```
$ npm install react-css-context -S
```

## Usage

### At Component where you want to load css.

```tsx
import * as React from 'react';
import { CSSCollector } from 'react-css-context';

export class SomeComponent extends React.Component {
return (

display after css loaded.


);
}
```

**`href` must be absolute url**
- NG: `/path/to/some.css`
- OK: `https://ryotasugawara.github.io/absolute/url.css`

### Server Side Rendering

```tsx
import * as React from 'react';
import * as ReactDOMServer from 'react-dom/server';
import { CSSProvider, toTagString, toTagComponent } from 'react-css-context';

const cssMap = new Map();
const renderOutput = ReactDOMServer.renderToString(





);

// use string
const htmlOutput = `


${toTagString(cssMap)}

...

`;

// use component
const htmlOutput = renderToString(


{toTagComponent(cssMap)}

...

);
```

### Client Side Rendering

```tsx
import * as React from 'react';
import * as ReactDOM from 'react-dom';
import { CSSProvider, getCSSMap } from 'react-css-context';

// get CSS-Map from browser head.
const cssMap = getCSSMap();

ReactDOM.render(




,
document.getElementById('main')
);
```