javascript - 我可以从 reactJS 中的渲染条件函数更改我的 css 样式属性吗?

标签 javascript html css reactjs user-interface

长话短说,我正在练习如何将 React 组件与事件监听器和处理程序一起使用。下面是我开发的代码:

var Frame = React.createClass({

    getInitialState: function() {
    return {hover: false}
    },

    toggleHover: function(e) {
        this.setState({
            hover: !this.state.hover
        })
    },

    render: function() {
        if (this.state.hover){
            linkStyle = "blue";
        }else{
            linkStyle = "red";
        }

        var frameStyle = {
            width: 100,
            height: 100,
            backgroundColor: {this.props.linkStyle}
        };

        return (
            <div onMouseEnter={this.toggleHover} onMouseLeave={this.toggleHover} style={frameStyle}>
            </div>
        );
    }
});

我在这里要做的很简单。如果鼠标进入我的 div 组件,它会改变颜色。但我觉得我没有正确更改 CSS 属性。我假设如果我为 backgroundColor 创建一个属性并将其放在条件语句中,它将完美地工作。

最佳答案

悬停效果为什么要用JS事件监听?

CSS native 支持 hover 效果。 给你的 div 一个类,然后在 css 中添加以下代码:

.my-div {
  color: black;
}

.my-div:hover {
  color: red;
}
<div class="my-div">Text here</div>

关于javascript - 我可以从 reactJS 中的渲染条件函数更改我的 css 样式属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46387005/

相关文章:

javascript - 如何使用 JavaScript 使背景图像在 HTML 中只出现一次

javascript - 自定义资源(css、javascript 等)以在所有应用程序中实现通用外观

html - 无法使 div 正确 float (可能是因为 flexbox?)

javascript - 如何使用 new 构造函数为 json 中的每个节点创建一个实例?

javascript - 在 Angular 结构指令中使用动态组件会产生额外的 HTML 标签。如何去除或更换它?

php - 使用 MySQL 渲染 HTML 页面(动态线)

javascript - 在 Controller 中获取每个指定类型的名称

javascript - Rails + Bootstrap 选项卡

javascript - 指针不在时如何延迟子菜单? (jQuery)

html - 为什么两个没有边距的 div 之间会出现空白?