Skip to content

Instantly share code, notes, and snippets.

@koddsson
Created April 3, 2017 10:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save koddsson/5791554283c1d6ec2c3870f6d00e6ac5 to your computer and use it in GitHub Desktop.
Save koddsson/5791554283c1d6ec2c3870f6d00e6ac5 to your computer and use it in GitHub Desktop.
esnextbin sketch
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ESNextbin Sketch</title>
<!-- put additional styles and scripts here -->
</head>
<body>
<div id="root" />
</body>
</html>
import React from 'react';
import { render } from 'react-dom';
import Waypoint from 'react-waypoint';
import styled from 'styled-components';
const Wrapper = styled.section`
width: 100%;
height: 700px;
position: relative;
background: ${props => props.backgroundColor};
`;
class Header extends React.Component {
constructor() {
super();
this.state = {
backgroundColor: 'lightBlue',
}
}
render() {
const { backgroundColor } = this.state;
return (
<div style={{ height: 200, overflow: 'scroll'}}>
<Wrapper backgroundColor={ backgroundColor }>
<h1>Welcome to my website</h1>
</Wrapper>
<Waypoint
onEnter={() => {
this.setState({ backgroundColor: 'lightGreen' });
}}
onLeave={() => {
this.setState({ backgroundColor: 'lightBlue'})
}}
/>
</div>
);
}
}
render(<Header />, document.querySelector('#root'));
{
"name": "esnextbin-sketch",
"version": "0.0.0",
"dependencies": {
"babel-runtime": "6.23.0",
"react": "15.4.2",
"react-dom": "15.4.2",
"react-waypoint": "5.2.1",
"styled-components": "1.4.4"
}
}
'use strict';
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _taggedTemplateLiteral2 = require('babel-runtime/helpers/taggedTemplateLiteral');
var _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2);
var _templateObject = (0, _taggedTemplateLiteral3.default)(['\n width: 100%;\n height: 700px;\n position: relative;\n background: ', ';\n'], ['\n width: 100%;\n height: 700px;\n position: relative;\n background: ', ';\n']);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _reactWaypoint = require('react-waypoint');
var _reactWaypoint2 = _interopRequireDefault(_reactWaypoint);
var _styledComponents = require('styled-components');
var _styledComponents2 = _interopRequireDefault(_styledComponents);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Wrapper = _styledComponents2.default.section(_templateObject, function (props) {
return props.backgroundColor;
});
var Header = function (_React$Component) {
(0, _inherits3.default)(Header, _React$Component);
function Header() {
(0, _classCallCheck3.default)(this, Header);
var _this = (0, _possibleConstructorReturn3.default)(this, (0, _getPrototypeOf2.default)(Header).call(this));
_this.state = {
backgroundColor: 'lightBlue'
};
return _this;
}
(0, _createClass3.default)(Header, [{
key: 'render',
value: function render() {
var _this2 = this;
var backgroundColor = this.state.backgroundColor;
return _react2.default.createElement(
'div',
{ style: { height: 200, overflow: 'scroll' } },
_react2.default.createElement(
Wrapper,
{ backgroundColor: backgroundColor },
_react2.default.createElement(
'h1',
null,
'Welcome to my website'
)
),
_react2.default.createElement(_reactWaypoint2.default, {
onEnter: function onEnter() {
_this2.setState({ backgroundColor: 'lightGreen' });
},
onLeave: function onLeave() {
_this2.setState({ backgroundColor: 'lightBlue' });
}
})
);
}
}]);
return Header;
}(_react2.default.Component);
(0, _reactDom.render)(_react2.default.createElement(Header, null), document.querySelector('#root'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment