Javascript ReactJS:render不';t根据道具更改样式值

Javascript ReactJS:render不';t根据道具更改样式值,javascript,reactjs,Javascript,Reactjs,我们正在ReactJS上构建wordpress生成器,遇到了一个看起来很奇怪的问题 在 您可以看到带有一些CSS样式的wrapperStyle对象。样式应根据this.props进行更改。当this.props更改时,此对象的console.log将返回 this.props.fullSlideshowWidth=1920px 及 this.props.slideshowWidth=1400px 我希望DOM中的style属性也会改变它的值,但它不会改变 例如,如果访问全宽幻灯片页面,则“样式”

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

this.props.fullSlideshowWidth=1920px

this.props.slideshowWidth=1400px

我希望DOM中的style属性也会改变它的值,但它不会改变

例如,如果访问全宽幻灯片页面,则“样式”属性将具有
最大宽度:1920px
。如果使用普通幻灯片访问不同的页面,样式属性将保持不变,尽管
console.log
中的值将更改。

您可以尝试

var-wrapperStyle={};
wrapperStyle.marginBottom=this.getFlux()。。。;
wrapperStyle.maxWidth=this.props。。。;

wrapperSytle.height=这个.props谢谢你们试图帮助我的人,我通过编辑道具解决了这个问题:
slideshowWidth={this.state.settings.images.size.slideshow.width+'px!important'}

我刚刚删除了
!重要信息
退出,并且可以正常工作,我仍然不明白为什么
!重要提示
对道具有很大影响。

看起来您是在根据高度变量的存在设置宽度值。
this.props.slideshowFullHeight
正在设置吗?如果在return语句之前运行
console.log(wrapperStyle)
,它会显示所有正确更改的值吗?您好,Andy,谢谢您的回答。是,如果运行console.log,则正确显示值
this.props.slideshowFullHeight
仅通过此选项检查幻灯片放映设置是否设置为全宽:并且您确信每次道具更改时都会再次调用
render()
?您所做的是完全有效的-构建一个样式对象,其属性根据道具/状态的不同而变化,这是一件相当正常的事情。我想知道Flux实现是否存在更大的问题,即在道具更改后抑制新的
render()
调用?我刚刚制作了一个小屏幕录制,以实时向您显示问题。我认为this.props.slideshowFullHeight始终被解释为true,因为无论发生什么情况,都不会为this.props.fullSlideshowWidth分配空字符串。这没有多大变化,问题仍然存在。在这种情况下;maxWidth是可变的吗?maxWidth是css“max width”并且是可变的,我真的不知道是什么导致了这个问题