Skip to content

Instantly share code, notes, and snippets.

@chrisblossom
Last active May 4, 2016 14:53
Show Gist options
  • Save chrisblossom/22bf5e55873e3ca0ad0d34b3f2e7dbff to your computer and use it in GitHub Desktop.
Save chrisblossom/22bf5e55873e3ca0ad0d34b3f2e7dbff 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="app"></div>
</body>
</html>
import React, { PropTypes } from 'react';
import ReactDOM from 'react-dom';
import { Provider, connect } from 'react-redux';
import { Field, actions as formActions, modelReducer, formReducer } from 'react-redux-form';
import { createStore, combineReducers, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
const store = applyMiddleware(thunk)(createStore)(combineReducers({
payment: modelReducer('payment', {}),
paymentForm: formReducer('payment', {})
}))
const CCNumber = connect(s=>s)((props) => {
const { payment } = props;
return (
<Field
model="payment.ccNumber"
>
<input
value={payment.ccNumber}
type="tel"
placeholder="Credit Card Number"
maxLength="5"
/>
</Field>
);
});
CCNumber.propTypes = {
payment: PropTypes.object,
};
const mapStateToProps = state => state
ReactDOM.render(<Provider store={store}>
<CCNumber /></Provider>, document.getElementById('app'))
{
"name": "esnextbin-sketch",
"version": "0.0.0",
"dependencies": {
"react": "15.0.1",
"react-dom": "15.0.1",
"react-redux": "4.4.5",
"react-redux-form": "0.11.5",
"redux": "3.4.0",
"redux-thunk": "2.0.1"
}
}
'use strict';
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactDom = require('react-dom');
var _reactDom2 = _interopRequireDefault(_reactDom);
var _reactRedux = require('react-redux');
var _reactReduxForm = require('react-redux-form');
var _redux = require('redux');
var _reduxThunk = require('redux-thunk');
var _reduxThunk2 = _interopRequireDefault(_reduxThunk);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var store = (0, _redux.applyMiddleware)(_reduxThunk2.default)(_redux.createStore)((0, _redux.combineReducers)({
payment: (0, _reactReduxForm.modelReducer)('payment', {}),
paymentForm: (0, _reactReduxForm.formReducer)('payment', {})
}));
var CCNumber = (0, _reactRedux.connect)(function (s) {
return s;
})(function (props) {
var payment = props.payment;
return _react2.default.createElement(
_reactReduxForm.Field,
{
model: 'payment.ccNumber'
},
_react2.default.createElement('input', {
value: payment.ccNumber,
type: 'tel',
placeholder: 'Credit Card Number',
maxLength: '5'
})
);
});
CCNumber.propTypes = {
payment: _react.PropTypes.object
};
var mapStateToProps = function mapStateToProps(state) {
return state;
};
_reactDom2.default.render(_react2.default.createElement(
_reactRedux.Provider,
{ store: store },
_react2.default.createElement(CCNumber, null)
), document.getElementById('app'));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment