/ / ¿Cuándo debo usar icepick.merge sobre lodash.merge - javascript, reactjs, immutability, lodash

¿Cuándo debería usar icepick.merge sobre lodash.merge? - javascript, reactjs, inmutability, lodash

Recientemente he encontrado la necesidad de fusionarme profundamente dentro de mis reductores.

Encontré que ambos icepick.merge y lodash.merge Hacer el trabajo.

Parece que icepick.merge es una manera eficiente de fusionar y llamar object.freeze recursivamente.

Cuando trabaje con reductores de reacción (e inmutabilidad), ¿cuándo debería usar icepick en lugar de lodash? ¿Es una buena práctica llamar a object.freeze en matrices y objetos?

Respuestas

1 para la respuesta № 1

Es una cuestión de imponer la inmutabilidad o no, y qué nivel de control / abstracción desea.

lodash

lodash te da herramientas para manejar estructuras de datosde una manera que no los muta, pero no impone la inmutabilidad en la propia estructura de datos. Por ejemplo, nada le impide a usted ni a ningún otro desarrollador el estado de mutación al usar lodash.

picahielo

Parece que icepick te permite mantener tus datos existentesEstructure pero congélelos, lo que le permite inspeccionar las estructuras de datos en Chrome y hacer que se comporten como lo harían normalmente. No he usado icepick en un proyecto, pero he notado que algunas personas lo prefieren debido a su naturaleza liviana y al hecho de que conservas las estructuras de datos existentes, lo que permite su inspección en herramientas de desarrollo, etc.

Immutable.js

Mi forma preferida de resolver esto es usar Inmutable js utilizando las estructuras de datos que esta bibliotecaproporciona la tarea de congelación / descongelación y refuerza la inmutabilidad de manera consistente en todo su proyecto. Las estructuras de datos que proporciona Immutable tienen una API integrada que es similar a la de las estructuras de datos regulares de javascript con la adición de algunas de las herramientas de poder de, por ejemplo, lodash, como Deep Fusion.