Last active
April 17, 2022 02:20
-
-
Save kazzkiq/0f6cf6802601f421f42a587177f79875 to your computer and use it in GitHub Desktop.
Exemplo de rota SvelteKit que chama APIs já no backend e retorna a tela hidratada no front.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script context="module"> | |
// Ao invés de fazer essas chamadas para APIs dentro dos componentes (Componente1 e Componente2) | |
// ela já é feita aqui na rota, dentro desse bloco context="module", e retornada como props | |
// para a própria tela. | |
// E aí a tela é que passa os dados para os componentes via props. | |
export async function load ({ params, fetch }) { | |
const result = await (await fetch("ENDPOINT_DA_API_AQUI")).json(); | |
return { | |
props: { | |
success: result.success, | |
data: result.payload, | |
} | |
}; | |
} | |
</script> | |
<script> | |
import Componente1 from "$lib/components/Blabla1.svelte"; | |
import Componente2 from "$lib/components/Blabla2.svelte"; | |
// as props que são retornadas lá em cima precisam ser declaradas aqui | |
// com export let. | |
export let success; | |
export let data; | |
</script> | |
{#if !success} | |
<h2>Ops, parece que os dados necessários não foram carregados.</h2> | |
{:else} | |
<Componente1 propriedadeUm={data.propiedadeUm} propriedadeDois={data.propriedadeDois} /> | |
<Componente2 propriedadeTres={data.propriedadeTres} propriedadeQuatro={data.propriedadeQuatro} /> | |
{/if} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment