Skip to content

Instantly share code, notes, and snippets.

View jmlavoier's full-sized avatar
🏠
Working from home

João Lavoier jmlavoier

🏠
Working from home
View GitHub Profile
@jmlavoier
jmlavoier / Input.js
Last active December 22, 2017 22:15
This is a dumb component
// InputField.js
import React from 'react';
export const InputField = ({
value,
name,
type,
style,
onChange
@jmlavoier
jmlavoier / Field.js
Last active December 2, 2022 22:20
High Order Component
// Field.js
import React from 'react';
const onHandleChange = (validate, onChange) => event => {
const { value } = event.target;
const isValid = validate(value);
onChange(value, isValid);
}
// TextareaField.js
const onHandleChange = (validate, onChange) => event => {
const { value } = event.target;
const isValid = validate(value);
onChange(value, isValid);
}
export const TextareaField = ({
value,
// SelectField.js
const onHandleChange = (validate, onChange) => event => {
const { value } = event.target;
const isValid = validate(value);
onChange(value, isValid);
}
export const SelectField = ({
value,
@jmlavoier
jmlavoier / InputField.js
Last active December 20, 2017 19:42
This is a Input field to reuse.
// InputField.js
const onHandleChange = (validate, onChange) => event => {
const { value } = event.target;
const isValid = validate(value);
onChange(value, isValid);
}
const getStyle = isValid => ({
@jmlavoier
jmlavoier / funcional-replace-key.js
Last active November 20, 2017 18:54
Pure Function to replace filter name;
const replaceKey = (filter, key, replace) => {
return Object.keys(filter).reduce((result, k) => {
if (k === key) {
result[replace] = filter[k];
} else {
result[k] = filter[k];
}
return result;
}, {});
class App extends React.Component {
constructor() {
super();
this.state = {
active: true,
}
}
onClick(event) {
const Button = ({ description, onClick }) => {
return (
<button onClick={onClick}>{description}</button>
);
}
class App extends React.Component {
constructor() {
super();
const Button = ({ description }) => {
return React.createElement('button', null, description);
}
const Button = ({ description }) => <button>{description}</button>;