在React中实现改变样式的正确方法是将它们保存在商店中。
我做到了这一点,但现在React不会渲染正确的背景,只显示白色。
我以这种方式配置商店:
const stylesDefaultState = {
background:{
beds: './assets/bedsA.jpg'
}
}
我通过组件中的道具来访问它:
let bedsBackgroundImage = `url(${this.props.styles.background.beds})`
let bedsStyle = {
backgroundImage: bedsBackgroundImage
}
return(
<div id='beds' style={bedsStyle}>
)
这个以及任何其他类似方法都无法奏效。我查看devtools中发生的事情,看起来没问题(虽然它被devtools削减)但仍然不会合作。图片: http://prntscr.com/hdfxgh
我可以尝试不同的方法,但我提出的任何其他方法都不会被存放,这意味着当我在浏览器中退出此组件时(例如,通过转到另一个页面),样式将重置为默认情况下,我需要能够更改它并保存它,这就是我为什么使用redux的原因。
编辑: 它适用于我在某处托管的图像,但在指定文件路径时仍然无法强制它工作。如果我有任何错误,请找出错误的线索,但它看起来应该有效。