J'ai créé une nouvelle application réagissante en utilisant create-react-app
puis installé styled-component
utiliser npm
. Mais quand je l'utilise dans le composant, je reçois une erreur suivante.
Échoué à compiler. ./src/components/lightbox/styledlightbox.js
Module introuvable:
Impossible de résoudre le "composant de style" dans '/ users/ishan/documents/réacteur-app/src/composants/lightbox'
Voici le composant:
import React, { Component } from 'react';
import { LightboxWrapper } from './styledLightbox';
class Lightbox extends Component {
renderEntry() {
if (this.props.lightbox.type === "photo") {
return <img alt="name" src={this.props.lightbox.entry} />;
}
if (this.props.lightbox.type === "video") {
return <video src={this.props.lightbox.entry} onLoadedMetadata={(e) => {console.log("Video duration is: "+e.currentTarget.duration) } } autoPlay muted onEnded={() => console.log("Video ended")} width='100%' height='100%' ></video>
}
if(this.props.lightbox.type === "text"){
return <div> <p className="lightbox text"> {this.props.lightbox.entry} </p> </div>
}
}
render() {
let classList = this.props.lightbox.status === true ? "lightbox-wrapper active" : "lightbox-wrapper";
return (
<LightboxWrapper className={classList}>
{/* {this.renderEntry()} */}
</LightboxWrapper>
);
}
}
export default Lightbox;
Voici le composant de style créé pour l'utiliser dans d'autres composants:
import styled from "styled-component";
export const LightboxWrapper = styled.div`
display: none;
position: fixed;
z-index: 100;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background: radial-gradient(
center,
ellipse farthest-corner,
rgba(255,255,255,0) 0%,
rgba(255,255,255,0) 100%
);
.active {
display: block;
background: radial-gradient(
center,
ellipse farthest-corner,
rgba(255,255,255,0.5) 0%,
rgba(255,255,255,0.1) 100%
);
}
.active img, .active video {
max-width: 70%;
height: auto !important;
margin: 0 auto;
opacity: 1;
/* box-shadow: 0px 2px 7px rgba(0,0,0,0.2); */
transition: opacity 0.5s linear;
animation: fadeInScale 1.2s ease-in-out;
max-height: 70%;
width: auto !important;
position: relative;
top: 11%;
}
`;
Il n'y a pas de telle composante de style dans le NPM, il manque ici à la fin
Vous devez installer des composants de style
npm i styled-components