lucid-ui
Version:
A UI component library from AppNexus.
47 lines (46 loc) • 1.73 kB
JavaScript
import React from 'react';
import createClass from 'create-react-class';
import PropTypes from 'prop-types';
import { Button, Portal } from '../../../index';
const context = React.createContext({
display: 'hello',
});
class ExampleApp extends React.Component {
constructor(props) {
super(props);
this.state = {
counter: 0,
increment: () => {
this.setState(({ counter }) => ({ counter: counter + 1 }));
},
};
}
render() {
return (React.createElement(context.Provider, { value: this.state }, this.props.children));
}
}
ExampleApp.propTypes = {
children: PropTypes.node,
};
export default createClass({
render() {
return (React.createElement(ExampleApp, null,
React.createElement(context.Consumer, null, ({ counter, increment }) => (React.createElement("div", null,
React.createElement("h1", null,
"counter: ",
counter),
React.createElement(Button, { kind: 'primary', onClick: increment }, "increment")))),
React.createElement(Portal, { style: {
marginTop: 20,
border: '1px solid #333',
padding: 10,
width: 100,
height: 100,
backgroundColor: 'yellow',
} },
React.createElement(context.Consumer, null, ({ counter, increment }) => (React.createElement("div", null,
"inside the portal counter: ",
counter,
React.createElement(Button, { kind: 'primary', onClick: increment }, "increment")))))));
},
});