Taller de React
13-hoc-pattern

Higher-order component (decorador)

Es una función A que toma un componente f y devuelve un nuevo componente g(x) = A(f(x)).

Utilizada para preparar o proveer datos a el árbol de componentes.

import * as axios from "axios";

const withAuthToken = (WrappedComponent) => {
	return (props) => {
		const token = localStorage.getItem("token");
		if (token) {
			axios.defaults.headers.common["Authorization"] = `Bearer ${token}`;
		}
		return <WrappedComponent {...props} />;
	};
};

export const App = withAuthToken((props) => {
	return <h1>App</h1>;
});