javascript - 使用 React 添加和删除 CSS 类

标签 javascript html css reactjs react-native

我是 React 的新手。我在按钮组中有几个按钮:

<div className="btn-group">
    <button className="btn btn-mini btn-default" onClick={() => this.changeDataType("type1")} >Button1</button>
    <button className="btn btn-mini btn-default" onClick={() => this.changeDataType("type2")} >Button2</button>
    <button className="btn btn-mini btn-default" onClick={() => this.changeDataType("type3")} >Button3</button>
</div>

每当用户单击其中一个按钮时,此按钮应成为事件的、选定的按钮。我发现我需要将 CSS 类 active 添加到相应的按钮,但我不确定如何实现它。

我考虑了一下。我有一个 changeDataType 函数连接到我的按钮,我在其中做一些其他的事情。然后我会在那里以某种方式操纵 CSS 吗?

所以我想我的问题是首先,如何定位我需要定位的按钮,其次,我如何使用 React 更改该按钮的 CSS。 p>

最佳答案

在状态改变时 react 重新渲染。在你的情况下,如果你想改变某些东西的外观,那么你可能想要强制另一个渲染。您可以做的是让 className 成为状态的一部分,然后在需要时更新状态,使组件使用新的 className 重新呈现。例如:

constructor() {
    super();
    this.state = {
        className: 'btn'
    }
}

render () {
    return (
        <Button className={this.state.className}>Click me</Button>
    )
}

由于 className 绑定(bind)到状态,更新状态将导致按钮使用新的 className 再次呈现。可以这样做:

updateClass() {
    let className = this.state.className;
    className = className + ' ' + 'btn-primary'
    this.setState({className})
}

这是您可以在单击按钮时调用并更新按钮的 className 的函数示例。

关于javascript - 使用 React 添加和删除 CSS 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43787533/

相关文章:

javascript - 如何在指令中定义两个 ng-click 函数?

java - 我遇到数字格式异常

html - 如何在 ASP.NET MVC 中获取移动设备的 CSS 宽度?

javascript - 有没有办法将电子表格信息链接到我的 HTML 文件中?

html - 右对齐表格中的输入

javascript - angular1 - Uncaught Error $injector :modulerr; angular-router

javascript - 给element绑定(bind)onclick调用jquery中的方法

javascript - 内容区域 div 上的表格溢出,当浏览器最小化时

html - div 背景图像在 Firefox 中悬停时变为空白?

jquery - 使用 Jquery 重新构建 ul 和 li 标签