Definindo uma imagem de fundo com estilos React Inline: entendendo a diferença entre imagens inline e imagens de fundo inline
Ao trabalhar com React, definir um Hintergrundsbild usando estilos embutidos pode parecer simples, mas existem algumas diferenças importantes entre usar uma tag embutida e definir uma imagem de fundo usando a propriedade backgroundImage.
Compreendendo imagens embutidas
Usar uma tag inline é uma maneira simples e direta de exibir uma imagem. Ao definir o atributo src para o caminho da imagem, ele carrega e exibe a imagem diretamente.
Configuração Imagens de fundo com estilos embutidos
A definição de uma imagem de fundo usando estilos embutidos envolve o uso da propriedade backgroundImage e o fornecimento do URL da imagem como valor. A principal diferença aqui é que a propriedade backgroundImage espera uma string contendo o URL, não uma variável ou expressão JavaScript.
Sintaxe correta:
const sectionStyle = {
backgroundImage: `url(${Background})`,
};
Neste exemplo, a variável Background já é uma string contendo o caminho para a imagem, graças a ferramentas como o webpack e seu carregador de arquivo de imagem.
Sintaxe incorreta:
const sectionStyle = {
backgroundImage: "url(" { Background } ")", // Incorrect
};
A sintaxe incorreta usa chaves em torno de { Background }, o que não é necessário e pode levar a erros.
Usando modelos de string ES6
Uma alternativa ao uso da concatenação de strings é usar modelos de string ES6. Isso permite uma sintaxe mais limpa e concisa:
const sectionStyle = {
backgroundImage: `url(${Background})`,
};
Ao compreender essas diferenças, você pode definir efetivamente imagens de fundo usando estilos embutidos no React, garantindo que seu aplicativo exiba as imagens corretamente.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3