ReactJS动态改变背景图片?

问题描述:

我试图动态地更改背景图片的风格以下DIV:ReactJS动态改变背景图片?

这是我要改变它组件,

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> 
) 
} 

感谢您的帮助

你的天堂” t指定了何时需要更改backgroundImage,所以我创建了一个版本,并将其更改为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> 
     ) 
    } 
}); 

请注意,backgroundImage: 'url(' + imgUrl + ')'不再必须有尾随分号,事实上尾随分号会导致React引发和错误。

+0

为什么分号会导致此错误? @daniula – 2016-06-03 10:36:24

+0

@HarkiratSaluja这是React本身的一个问题。请参阅FakeRainBrigand指出的https://github.com/facebook/react/issues/2862 – daniula 2016-06-04 20:25:39

这是由您的风格中的尾随分号造成的。请参阅react issues #2862