Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js
  • import * as ACTION from '../actions/actions'; Es como decir, impórtame todo y me lo metes en una constante que es ACTION

            Luego se puede consumir así: ACTION.getWriteoffsFilterCallInit()

            Para exportarlo se hará de la siguiente manera: 

            export const getWriteoffsFilterCallInit = () => ({type: ACTION.GET_WRITEOFFS_FILTERS_INIT});

            export const getActionsModalCallInit = () => ({type: ACTION.GET_WRITEOFFS_ACTIONS_MODAL_INIT});

            Y desde ACTION podremos acceder a todas las funciones.

 

 

 

const clean = (obj) => Object.entries(obj).reduce((acum, [key, value]) => (value == null ? acum : (acum[key] = value, acum)), {});

Object.entries() devuelve una matriz de pares propios de una propiedad enumerable [key, value] de un objeto dado, en el mismo orden que es proporcionado por for...in (La diferencia es que un bucle for-in enumera las propiedades en la cadena de prototipos).

const persona = {nombre: 'Roberto', apellido: 'Fernández', profesión: null, apodo:'', hijos: undefined};

Object.entries(persona) --> [
                                                     [ 'nombre', 'Roberto' ],
                                                     [ 'apellido', 'Fernández' ],
                                                     [ 'profesión', null ],
                                                     [ 'apodo', '' ],
                                                     [ 'hijos', undefined ]
                                                   ]

reduce() ejecuta una función reductora sobre cada elemento de un array, devolviendo como resultado un único valor.

const array1 = [1, 2, 3, 4];

const initialValue = 7;
const sumWithInitial = array1.reduce((acumulador, currentValue) => acumulador+ currentValueinitialValue
);  ---> // 17  --> 7+1+2+3+4.

Sin initial value --> // 10 --> 1+2+3+4

initialValue(Opcional): Un valor a usar como primer argumento en la primera llamada de la función callback. Si no se proporciona el valorInicial, el primer elemento del array será utilizado y saltado. Llamando a reduce() sobre un array vacío sin un valorInicial lanzará un TypeError.

La primera vez que se llama la función, acumulador y valorActual pueden tener uno de dos valores. Si se proveyó un valorInicial al llamar a reduce, entonces acumulador será igual al valorInicial y valorActual será igual al primer elemento del array. Si no se proveyó un valorInicial, entonces acumulador será igual al primer valor en el array y valorActual será el segundo.

La función clean devuelve un objeto donde no se guarda los elementos nulos, pero se podría añadir a la condición otros atributos con otros valores:  value === '' || value === null || value === undefined;

reduce((acum, [key, value]) La función reduce recibe dos argumentos: acum toma el valor del initialValue {} --> que Es un objeto vacío. y el primer elemento del array que hemos creado con Object.entries(persona) --> ['nombre', 'Roberto' ],

(value == null ? acum : (acum[key] = value, acum)) La función reduce evalua el valor de value, y si es null, devuelve el objeto acum y si no lo es, crea la propiedad en acum a través de acum[key] = value y devuelve el objeto acum.

CURIOSIDAD: 
Esta forma de retornar retornar la información (acum[key] = value, acum)) tiene como propiedad que primero crea la propiedad en acum con acum[key] y por otra parte retorna el objeto acum.

 

Importar y exportar cosas

Ezequiel del Río
Module by Ezequiel del Río, updated more than 1 year ago

Description

Formas de Importar y exportar componentes, funciones, módulos...