如何使用 Axios 从数据库中获取可变颜色,然后在 Scss 中应用它们 - ReactJs
How to get variable colors from database with Axios and then apply them in Scss - ReactJs
在我的项目中,我需要获取存储在数据库中的颜色。也许这个问题会很愚蠢,但我不知道如何获取它们并将它们放在正确位置的 Scss 中。如果有人能给我一些解释或给我一些建议、链接等,我会很高兴。
数据库中存储的颜色:
The main color & text
$colorPrimary #fbd116;
$colorTextPrimary #ff0200;
The second color & text
$colorSecondary #ffffff;
$colorTextSecondary #252525;
Label & text
$colorLabel #ffffff;
$colorTextLabel#87888c;
$colorTextLabelLight #aaa;
Second Label
$colorSecondLabel#f7f7f7;
$colorTextSecondLabel #252525;
Dashboard buttons & icons
$colorSelectButton #404040;
$colorHoverSelectButton #101010;
$colorTextSelectButton#fbd116;
Extra's
$colorShadow #aaa;
$colorCheckmark #7ac142;
$colorWarning #ffa000;
$colorTrue #008000;
$colorFalse #ff0000;
这是我的逻辑,但我不知道这是否正确。 :
colors : {
color1: '#fff',
color2: '#aaa'
}
...
axios.post(SERVER_URL + '/api/user/colors/' ,{
... some parameters})
.then(response => {
this.setState({
brandColors: response.data.colors
})
})
...
const Styles = {
header : {
background: this.state.brandColors.color1
}
}
constructor(props) {
super(props)
this.state={
tyles: '',
}
}
async componentWillMount () {
axios.get('http://www.mocky.io/v2/5d0b46a12f00002b00e3ef3d')
.then(response => {
this.setState({
brandColors : response.data.branding,
dataReady: true
})
})
}
render() {
return (
this.state.dataReady ? (
<div className='Home'>
<header className='HomeHeader' style={{background: this.state.brandColors.colorPrimary}}></header>
<button>Press Me</button>
<footer className='HomeFooter'></footer>
</div>
) : null
);
}}
export default Home;``
在我的项目中,我需要获取存储在数据库中的颜色。也许这个问题会很愚蠢,但我不知道如何获取它们并将它们放在正确位置的 Scss 中。如果有人能给我一些解释或给我一些建议、链接等,我会很高兴。
数据库中存储的颜色:
The main color & text
$colorPrimary #fbd116;
$colorTextPrimary #ff0200;
The second color & text
$colorSecondary #ffffff;
$colorTextSecondary #252525;
Label & text
$colorLabel #ffffff;
$colorTextLabel#87888c;
$colorTextLabelLight #aaa;
Second Label
$colorSecondLabel#f7f7f7;
$colorTextSecondLabel #252525;
Dashboard buttons & icons
$colorSelectButton #404040;
$colorHoverSelectButton #101010;
$colorTextSelectButton#fbd116;
Extra's
$colorShadow #aaa;
$colorCheckmark #7ac142;
$colorWarning #ffa000;
$colorTrue #008000;
$colorFalse #ff0000;
这是我的逻辑,但我不知道这是否正确。 :
colors : {
color1: '#fff',
color2: '#aaa'
}
...
axios.post(SERVER_URL + '/api/user/colors/' ,{
... some parameters})
.then(response => {
this.setState({
brandColors: response.data.colors
})
})
...
const Styles = {
header : {
background: this.state.brandColors.color1
}
}
constructor(props) {
super(props)
this.state={
tyles: '',
}
}
async componentWillMount () {
axios.get('http://www.mocky.io/v2/5d0b46a12f00002b00e3ef3d')
.then(response => {
this.setState({
brandColors : response.data.branding,
dataReady: true
})
})
}
render() {
return (
this.state.dataReady ? (
<div className='Home'>
<header className='HomeHeader' style={{background: this.state.brandColors.colorPrimary}}></header>
<button>Press Me</button>
<footer className='HomeFooter'></footer>
</div>
) : null
);
}}
export default Home;``