当前位置:首页 > React

react实现开关灯

2026-01-27 05:30:20React

React 实现开关灯效果

在 React 中实现开关灯效果可以通过状态管理来控制组件的样式或类名切换。以下是两种常见的实现方式:

使用状态切换类名

通过 useState 管理开关状态,动态切换 CSS 类名:

import React, { useState } from 'react';
import './LightSwitch.css';

function LightSwitch() {
  const [isOn, setIsOn] = useState(false);

  const toggleLight = () => {
    setIsOn(!isOn);
  };

  return (
    <div className={`room ${isOn ? 'light-on' : 'light-off'}`}>
      <button onClick={toggleLight}>
        {isOn ? 'Turn Off' : 'Turn On'}
      </button>
    </div>
  );
}

export default LightSwitch;

对应的 CSS 文件:

.room {
  width: 200px;
  height: 200px;
  transition: background-color 0.3s;
}

.light-on {
  background-color: yellow;
}

.light-off {
  background-color: #333;
}

button {
  margin-top: 20px;
  padding: 10px 20px;
}

使用内联样式

直接通过状态改变内联样式:

import React, { useState } from 'react';

function LightSwitch() {
  const [isOn, setIsOn] = useState(false);

  const roomStyle = {
    width: '200px',
    height: '200px',
    backgroundColor: isOn ? 'yellow' : '#333',
    transition: 'background-color 0.3s'
  };

  return (
    <div style={roomStyle}>
      <button onClick={() => setIsOn(!isOn)}>
        {isOn ? 'Turn Off' : 'Turn On'}
      </button>
    </div>
  );
}

export default LightSwitch;

添加动画效果

可以使用 CSS 动画增强视觉效果:

.light-on {
  background-color: yellow;
  box-shadow: 0 0 20px yellow;
}

.light-off {
  background-color: #333;
  box-shadow: none;
}

这两种方法都能实现开关灯效果,第一种方式更利于维护复杂的样式,第二种方式更适合简单的样式切换。根据项目需求选择合适的方式即可。

react实现开关灯

标签: react
分享给朋友:

相关文章

react native如何启动

react native如何启动

React Native 启动步骤 确保已安装 Node.js(建议版本 14 或更高)和 npm/yarn。安装完成后,通过命令行工具执行以下操作。 初始化新项目 使用 React Native…

react native 如何

react native 如何

React Native 开发基础 React Native 是一个用于构建跨平台移动应用的框架,允许开发者使用 JavaScript 和 React 编写代码,同时生成原生 iOS 和 Androi…

react native如何启动

react native如何启动

如何启动 React Native 项目 安装 Node.js 和 npm 确保已安装 Node.js(建议版本 16 或更高)和 npm(Node.js 自带)。可通过以下命令检查版本: node…

react如何取消渲染

react如何取消渲染

取消渲染的方法 在React中,取消渲染通常指的是在某些条件下阻止组件渲染或中断正在进行的渲染过程。以下是几种常见的方法: 条件渲染 通过条件判断决定是否渲染组件或部分内容。可以使用if语句或三元运…

react 如何引入jquery

react 如何引入jquery

引入 jQuery 到 React 项目 在 React 项目中引入 jQuery 可以通过多种方式实现,但需要注意 React 和 jQuery 操作 DOM 的方式可能冲突,因此建议仅在必要时使用…

react如何开发组件

react如何开发组件

React 组件开发基础 React 组件分为函数组件和类组件两种形式。函数组件是现代 React 开发的主流方式,结合 Hooks 可以实现完整功能。 函数组件示例: function Gree…