ReactJS:render不会改变基于props的样式值

时间:2016-01-25 14:22:50

标签: javascript reactjs

我们正在ReactJS上构建一个wordpress构建器,遇到了一个奇怪的问题。
在里面 screenshot您可以看到带有一些CSS样式的wrapperStyle对象。样式应根据this.props进行更改。 this.props更改后,此对象的console.log将返回

  

this.props.fullSlideshowWidth = 1920px

  

this.props.slideshowWidth = 1400px

我预计DOM中的style属性也会改变它的值,但它不会改变。

例如,如果我访问全宽幻灯片页面,则style属性将具有max-width: 1920px。如果我使用普通幻灯片显示访问其他页面,则样式属性将保持不变,但console.log中的值将更改。

2 个答案:

答案 0 :(得分:0)

你可以试试;

var wrapperStyle = {};
wrapperStyle.marginBottom = this.getFlux()...;
wrapperStyle.maxWidth = this.props...;
wrapperSytle.height = this.props...;

答案 1 :(得分:0)

谢谢那些试图帮助我的人,我通过编辑道具解决了这个问题:  slideshowWidth = {this.state.settings.images.sizes.slideshow.width+'px !important'} 我刚刚删除!important并且没有问题,我仍然不明白为什么!important对道具有如此大的影响。