【问题标题】:React native setState array反应原生 setState 数组
【发布时间】:2019-06-10 07:03:48
【问题描述】:

我需要更改数组元素的状态。这种变化会导致视图和图像的颜色发生变化。 如何更改 react native 中的状态并上传更改?

【问题讨论】:

  • 欢迎来到stackoverflow。我的问题是:您是用固定颜色和静态图像更改某些主题,还是图像 url 和颜色是动态的?

标签: arrays reactjs setstate


【解决方案1】:

如果您要更改应用的主题(使用静态颜色和图像 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>

【讨论】:

    猜你喜欢
    • 2019-01-08
    • 1970-01-01
    • 2017-01-13
    • 2023-03-20
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多