Cómo Optimizar el Rendimiento en React: Guía con useMemo, useCallback y Code-Splitting