【发布时间】:2019-06-10 07:03:48
【问题描述】:
我需要更改数组元素的状态。这种变化会导致视图和图像的颜色发生变化。 如何更改 react native 中的状态并上传更改?
【问题讨论】:
-
欢迎来到stackoverflow。我的问题是:您是用固定颜色和静态图像更改某些主题,还是图像 url 和颜色是动态的?
我需要更改数组元素的状态。这种变化会导致视图和图像的颜色发生变化。 如何更改 react native 中的状态并上传更改?
【问题讨论】:
如果您要更改应用的主题(使用静态颜色和图像 url),最好在 css 中处理它并将主题的名称保存在 state 中,如下所示:
class App extends React.Component {
state = {
theme: 'green-theme'
}
handleClick = () => {
this.setState({ theme: 'red-theme' })
}
render(){
const { theme } = this.state;
return (
<button className={theme} onClick={this.handleClick}>change theme</button>
)
}
}
ReactDOM.render(<App />, document.getElementById('root'))
.green-theme {
background-color: lightgreen;
/* background-image: url('path/to/img1'); */
}
.red-theme {
background-color: lightcoral;
/* background-image: url('path/to/img2'); */
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="root"></div>
【讨论】: