Fiz o exercício e implementei o ApiService como uma classe. Criei um atributo headers na classe e assim, o passo usando this. Daí, na hora de usar em um componente, apenas crio a instância e uso os métodos. Entendo que de qualquer forma se trata de um objeto. Mas daí, me surgiu a dúvida: há algum impacto negativo nessa abordagem visto que nesse caso eu teria várias instâncias da classe em vários componentes em vez de apenas um objeto sendo chamado?
Aqui segue um trecho do meu código:
class ApiService {
constructor() {
this.headers = {
"Content-type": "application/json; charset=UTF-8"
};
}
ListaPosts = () => {
return fetch("https://jsonplaceholder.typicode.com/posts").then(res =>
res.json()
);
};
CriaPost = body => {
return fetch("https://jsonplaceholder.typicode.com/posts", {
method: "POST",
body: JSON.stringify(body),
headers: this.headers
}).then(res => res.json());
};
}
export default ApiService;