首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用react中的setSate更改按钮背景颜色和文本颜色?

如何使用react中的setSate更改按钮背景颜色和文本颜色?
EN

Stack Overflow用户
提问于 2019-12-29 01:46:34
回答 1查看 752关注 0票数 0

我正在尝试使用react中的setState来更改按钮的背景颜色和文本颜色。

这是App.js

代码语言:javascript
复制
import React, { Component } from 'react';


export default class App extends Component {
  changeColor = () => {
    this.setState({
      background: 'red'
    })
  }
  render() {
    return (
      <div className='text-center pt-5'>
        <button onClick= {this.changeColor} className='btn btn-danger'>Click here</button>
      </div>
    )
  }
}
代码语言:javascript
复制
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-29 01:48:47

您需要初始化状态并绑定函数:

代码语言:javascript
复制
constructor(props) {
  super(props);
  this.state = { background: 'blue', textColor: 'pink' };
  this.changeColor = this.changeColor.bind(this);
}

您需要通过state访问颜色,并将其设置为style属性。

代码语言:javascript
复制
<button style={{ backgroundColor: this.state.background, color: this.state.textColor }} onClick={this.changeColor} className='btn btn-danger'>Click here</button>

另外,更新您的changeColor方法以处理文本颜色:

代码语言:javascript
复制
changeColor = () => {
  this.setState({
    background: 'red',
    textColor: 'orange'
  });
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59513397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档