>


License
MIT
Install
npm install reactlite@3.2.13

Documentation

reactlite

NPM JavaScript Style Guide

Install

npm install --save reactlite

Usage

DEMO

https://codesandbox.io/s/7yqyq2q8x

Box

<Box color="red" fontSize="24px">
  24px Red Div
</Box>

Container

<Container
  smBackgroundColor="red"
  mdBackgroundColor="green"
  lgBackgroundColor="blue"
>
  media query auto change backgroundColor: Red/Green/Blue
</Container>

Modal

https://codesandbox.io/s/reactlite-example-3j5hw

import React from 'react';
import ReactDOM from 'react-dom';
import { Modal } from 'reactlite';

class ModalComponent extends React.Component {
  onOk = () => {
    this.props.resolve('ok');
  };
  onCancel = () => {
    this.props.resolve('cancel');
  };
  render() {
    return (
      <div className="ModalComponent">
        <button onClick={this.onOk}>OK</button>
        <button onClick={this.onCancel}>CANCEL</button>
      </div>
    );
  }
}
class Example extends React.Component {
  show = async () => {
    let result = await Modal.show(<ModalComponent />);
    alert(result);
  };

  render() {
    return <button onClick={this.show}>SHOW</button>;
  }
}

function App() {
  return (
    <div className="App">
      <h1>Hello CodeSandbox</h1>
      <h2>Start editing to see some magic happen!</h2>
      <Example />
      <Modal.Provider />
    </div>
  );
}

const rootElement = document.getElementById('root');
ReactDOM.render(<App />, rootElement);

Layer

import React, { Component } from 'react';

import { Layer, Text } from 'reactlite';

class Example extends Component {
  render() {
    let { showLayer } = this.props;
    return (
      showLayer && (
        <Layer>
          <Text>Layer Content</Text>
        </Layer>
      )
    );
  }
}

全局 Layer

import React, { Component } from 'react';

import { Box, Button, Text, Layer } from 'reactlite';

class App extends Component {
  render() {
    return <Layer.Placeholder />;
  }
}
class Example extends Component {
  add = () => {
    this.element = <Text>Layer Content</Text>;
    Layer.mount(this.element);
  };
  remove = () => {
    Layer.unmount(this.element);
  };
  render() {
    return (
      <Box>
        <Button onClick={this.add}>add</Button>
        <Button onClick={this.remove}>remove</Button>
      </Box>
    );
  }
}

unmount self

import React, { Component, Fragment } from 'react';

import { Layer } from 'reactlite';

class App extends Component {
  render() {
    return (
      <Fragment>
        <Example />
        <Modal.Provider />
      </Fragment>
    );
  }
}
class ModalComponent extends Component {
  onOk = () => {
    this.props.resolve('ok');
  };
  onCancel = () => {
    this.props.resolve('cancel');
  };
  render() {
    return (
      <div>
        <button onClick={this.onOk}>OK</button>
        <button onClick={this.onCancel}>CANCEL</button>
      </div>
    );
  }
}
class Example extends Component {
  show = async () => {
    let result = await Modal.show(<ModalComponent />);
    console.log(result);
  };

  render() {
    return <button onClick={this.show}>SHOW</button>;
  }
}

License

MIT © lomocc