Estoy usando redux para administrar un estado global y sagas para llamadas de servidor asíncrono en una aplicación nativa de reacción.
¿Puede mejorar el rendimiento/minimizar el renderizado para dividir las llamadas al estado redux al conectar un componente a la tienda redux? Por ejemplo, un objeto grande en la tienda redux se compone de muchos más pequeños. {bigObject: {small1, small2, small3....}} en mapStateToProps para una clase, ¿es más eficiente hacer llamadas separadas a cada uno de los objetos más pequeños que se requieren (small1: state.bigObject.small1), o es ¿Es mejor tener solo una llamada al objeto más grande ( grande: estado.objetogrande)?
Del mismo modo, ¿puede ser una buena práctica crear copias de estado local del estado redux (p. ej., setState para la clase) o es mejor llamar al estado redux directamente en el componente (p. ej., this.props.state.bigObject.small1) en cualquier lugar donde se encuentre? ¿necesario? ¿Tiene un impacto?
¡Muchas gracias!
No. Una vez que tu estado está en la memoria, está en la memoria. Redux es solo un objeto elegante, y el acceso al objeto está en tiempo O (1). Todo lo que estaría haciendo es tomar memoria adicional y tiempo de procesamiento al duplicar su estado. Sin mencionar la probabilidad de que los errores del estado local y global no estén sincronizados.
Redux y React ya están optimizados para resolver este problema. Aquí hay una sección de los documentos de React que cubre esto.