Escopo variável do Astro

Quando você precisa de interatividade front-end, você pode configurá-lo como fizemos usando uma estrutura reativa ou com JavaScript de baunilha. De qualquer maneira, o Astro trabalha no lado do servidor. Uma boa maneira de levar esse ponto para casa é olhar para o apoio da Astro para variáveis ​​que podem ser inseridas nos modelos HTML. Por exemplo, poderíamos criar um valor inicial em index.astro Assim:


---
import ReactCounter from '../components/ReactCounter.jsx';
import SvelteCounter from '../components/SvelteCounter.svelte';

const startingValue = Math.floor(Math.random() * 100);
---
// …

This is on the server: {startingValue}

Isso exibe o valor aleatório gerado no servidor na página do cliente. Lembre -se, porém, que tudo está feito no servidor. Se quiséssemos usar esse valor no cliente, poderíamos passá -lo para os componentes como um parâmetro. Por exemplo, poderíamos fazer o componente esbelto aceitar um parâmetro como assim:






Observe o export let startingValue A sintaxe, que é frouxa para expor um parâmetro pass-in ao seu pai. Para usar isso de volta na página de índice que você digitaria: