我想在某些页面中更改主体的backgroundColor。 我必须设置的颜色在商店redux中。但是当他传入componentDidMount()函数时,似乎他并不知道。
我的代码:
componentDidMount() {
this.props.list(this.props.match.params.page && decodeURIComponent(this.props.match.params.page));
this.props.list_admin();
document.body.style.backgroundColor = this.props.data_admin.backgroundColorFirst;
}
componentWillUnmount() {
this.props.reset();
document.body.style.backgroundColor = null;
}
const mapStateToProps = (state) => {
return {
data_admin: state.admin.list.data,
};
};
const mapDispatchToProps = (dispatch) => {
return {
list_admin: (admin) => dispatch(list_admin(admin)),
reset: () => {
dispatch(reset());
dispatch(success(null));
},
};
};
export default connect(mapStateToProps, mapDispatchToProps)(List);
因此,当在道具“ data_admin”中设置颜色时,是否可以在主体上应用样式?
感谢您的帮助
答案 0 :(得分:1)
您当前的解决方案(无论是否为Redux)仅更改初始安装和卸载时的背景,而不会更改.strftime('%B')
时的背景。
componentDidUpdate()
生命周期功能很适合做您的
props
也是。