Cuba tetapkan komponen kepada imej latar belakang berulang div
Saya mempunyai corak yang digunakan semula di seluruh laman web.
Komponen corak diperkemas:
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', }
Saya memperkenalkan komponen modal dan luluskannya.
Komponen diperkemas:
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 }
Tetapi atas sebab tertentu ia tidak akan dipaparkan.
Apa yang saya lakukan salah dan bagaimana saya boleh memperkenalkan komponen dan menetapkannya untuk mengulangi imej latar belakang secara mendatar?
Anda boleh menjadikan SVG sebagai penanda statik, mengekodkannya ke Base64 dan menggunakannya sebagai URL:
Ujian masa nyata
Menggunakan kod anda, ia mungkin kelihatan seperti berikut (saya tidak mengujinya)