Essayez de définir le composant sur une image d'arrière-plan répétitive de div
J'ai un motif qui est réutilisé sur tout le site Web.
Composants du motif simplifié :
import React from 'react' import PropTypes from 'prop-types' import styled from 'styled-components' const Container = styled.svg` height: ${({ height }) => height}; ` const Path = styled.path` fill: ${({ color }) => color}; ` export default function Pattern({ height, color }) { return ( <Container height={height} viewBox="0 0 20 20" data-cy="svg-pattern"> <Path color={color} d="M0.5,0.4v19.2h19V0.4H0.5z M13.5,15.5L7,15.9l-3.5-5.5l3-5.9L13,4.1l3.5,5.5L13.5,15.5z" /> </Container> ) } Pattern.propTypes = { height: PropTypes.string, color: PropTypes.string, } Pattern.defaultProps = { height: '10px', color: 'blue', }
J'introduis le composant modal et je le transmets.
Composants simplifiés :
import React from 'react' import PropTypes from 'prop-types' import styled from 'styled-components' // Components import { Pattern } from '../atoms' const Container = styled.div` // Removed ` // HERE const Repeat = styled.div` margin-bottom: ${({ theme }) => theme.space.normal}; width: 100%; background-image: url(${({ background }) => background}); background-repeat: repeat-x; ` export default function SoQues(props) { return ( <Container> <Repeat background={<Pattern color={'red'} />}/> </Container> ) } SoQues.propTypes = { // props }
Mais pour une raison quelconque, le rendu ne sera pas rendu.
Qu'est-ce que je fais de mal et comment puis-je introduire un composant et le configurer pour qu'il répète l'image d'arrière-plan horizontalement ?
Vous pouvez restituer le SVG sous forme de balisage statique, l'encoder en Base64 et l'utiliser comme URL :
Tests en temps réel
En utilisant votre code, cela pourrait ressembler à ceci (je ne l'ai pas testé)