J'essayais de changer dynamiquement le style d'image d'arrière-plan pour la div suivante:
Voici mon composant pour le changer,
render: function() {
var divImage = {
backgroundImage : "url(" + this.state.song.imgSrc + "),url(" + this.state.nextImgSrc + ");"
};
return (
<li>
<div ref="image-pane" className="player" style={divImage}></div>
</li>
)
}
Merci pour l'aide
Vous n'avez pas spécifié quand souhaitez-vous changer backgroundImage
, j'ai donc créé une version qui la change avec onClick
:
React.createClass({
getInitialState: function () {
nextImg: false,
},
handleClick: function () {
this.setState({ nextImg: !this.state.nextImg })
},
render: function() {
var imgUrl = this.state.nextImg ? this.state.nextImgSrc : this.state.song.imgSrc;
var divStyle = {
backgroundImage: 'url(' + imgUrl + ')'
}
return (
<li>
<div ref="image-pane" style={divStyle} onClick={this.handleClick} className="player"></div>
</li>
)
}
});
Notez que backgroundImage: 'url(' + imgUrl + ')'
ne doit plus avoir de point-virgule de fin, en fait le point-virgule de fin provoquera React à augmenter et à l'erreur.
Cela est dû au point-virgule de fin de votre style. Voir réagir aux problèmes # 2862 .