ReactJS 教程

ReactJS - 主页 ReactJS - 简介 ReactJS - 路线图 ReactJS - 安装 ReactJS - 功能 ReactJS - 优势和缺点 ReactJS - 架构 ReactJS - 创建 React 应用程序 ReactJS - JSX ReactJS - 组件 ReactJS - 嵌套组件 ReactJS - 使用组件 ReactJS - 集合组件 ReactJS - 样式 ReactJS - 属性 (props) ReactJS - 使用属性创建组件 ReactJS - props 验证 ReactJS - 构造函数 ReactJS - 组件生命周期 ReactJS - 事件管理 ReactJS - 创建事件感知组件 ReactJS - Expense Manager 事件 ReactJS - 状态管理 ReactJS - 状态管理 API ReactJS - 无状态组件 ReactJS - Hooks 进行状态管理 ReactJS - Hooks 的组件生命周期 ReactJS - 布局组件 ReactJS - 分页 ReactJS - Material UI ReactJS - Http 客户端编程 ReactJS - 表单编程 ReactJS - 受控组件 ReactJS - 非受控组件 ReactJS - Formik ReactJS - 条件渲染 ReactJS - 列表 ReactJS - Key 键 ReactJS - 路由 ReactJS - Redux ReactJS - 动画 ReactJS - Bootstrap ReactJS - Map ReactJS - 表格 ReactJS - 使用 Flux 管理状态 ReactJS - 测试 ReactJS - CLI 命令 ReactJS - 构建和部署 ReactJS - 示例

Hooks

ReactJS - Hooks 简介 ReactJS - 使用 useState ReactJS - 使用 useEffect ReactJS - 使用 useContext ReactJS - 使用 useRef ReactJS - 使用 useReducer ReactJS - 使用 useCallback ReactJS - 使用 useMemo ReactJS - 自定义 Hooks

ReactJS 高级

ReactJS - 可访问性 ReactJS - 代码拆分 ReactJS - 上下文 ReactJS - 错误边界 ReactJS - 转发 Refs ReactJS - 片段 ReactJS - 高阶组件 ReactJS - 与其他库集成 ReactJS - 优化性能 ReactJS - Profiler API ReactJS - Portals ReactJS - 不使用 ES6 ECMAScript ReactJS - 不使用 JSX 的 React ReactJS - Reconciliation ReactJS - Refs 和 DOM ReactJS - 渲染道具 ReactJS - 静态类型检查 ReactJS - 严格模式 ReactJS - Web 组件

其他概念

ReactJS - 日期选择器 ReactJS - Helmet ReactJS - 内联样式 ReactJS - PropTypes ReactJS - BrowserRouter ReactJS - DOM ReactJS - 轮播 ReactJS - 图标 ReactJS - 表单组件 ReactJS - 参考 API

ReactJS 有用资源

ReactJS - 快速指南 ReactJS - 备忘录 Axios - 备忘录 ReactJS - 有用资源 ReactJS - 讨论


ReactJS - 内联样式

React 提供了一种独特的方式,可以直接在 React 组件中编写 CSS 并在 JSX 中使用它。这个概念在 JS 中称为 CSS,与传统的样式用法相比,它具有许多优势。

让我们了解什么是内联样式以及如何在 React 组件中使用它。

内联样式的概念

CSS 使开发人员能够设计 Web 应用程序的 UI。React 为 CSS 提供一流的支持,并允许将 CSS 直接导入 React 应用程序。将 CSS 直接导入 React 组件就像导入包一样简单。

import './App.css'

但是,将 css 直接导入 Web 组件有一个主要缺点,即全局命名空间。如果类名存在冲突,全局样式可能会影响单个组件的样式。开发人员需要小心分配一些前缀以确保不会发生冲突。

另一种方法是允许 Javascript 管理 CSS,这称为 JS 中的 CSS。React 允许通过特殊的 CSS 语法在 JSX 中使用 CSS。React 为每个组件提供了一个样式 props,可用于指定内联样式。内联样式应在 Javascript 对象中提供。对象应遵循以下规则,

  • 对象键应为普通 CSS 属性的 CamelCased 版本。例如,background-color 应指定为 backgroundColor

{
    backgroundColor: "red"
}
  • 对象值应为 CSS 中相应对象键的允许值之一,且应为字符串格式。例如,font-size CSS 属性及其值 (12px) 应指定如下 −

{
   fontSize: "12px"
}

React 将处理冲突并正确呈现应用程序。

应用内联样式

让我们在本节中学习如何在 React 应用程序中应用内联样式。

首先,创建一个新的 React 应用程序并使用以下命令启动它。

create-react-app myapp
cd myapp
npm start

接下来,打开 App.css (src/App.css) 并删除所有 CSS 类。

// 删除 css

接下来,创建一个简单的组件 SimpleStyle (src/Components/SimpleIcon.js),如下所示 −

import React from "react";
class SimpleStyle extends React.Component {
   displayStyle = {
      fontFamily: 'Times New Roman',
      fontSize: "24px",
      color: "red"
   }
   render() {
      return (
         <div>
            <div style={this.displayStyle}>
               Sample text to understand inline style (object as variable) in React component
            </div>
            <hr />
            <div style={{ fontFamily: 'Arial', fontSize: "24px", color: "grey"}}>
               Sample text to understand inline style (object as expression) in React component
            </div>
         </div>
      )
   }
}
export default SimpleStyle

这里我们有,

  • 使用变量 (displayStyle) 为第一个 div 设置样式。

  • 使用表达式为第二个 div 设置样式。

接下来,打开 App 组件 (src/App.js) 并使用 SimpleStyle 组件更新内容,如下所示 −

import './App.css'
import React from 'react';
import SimpleStyle from './Components/SimpleStyle'

function App() {
   return (
      <div className="container">
         <div style={{ padding: "10px" }}>
            <div>
               <SimpleStyle />
            </div>
         </div>
      </div>
   );
}
export default App;

这里我们有,

  • 导入了 SimpleStyle 组件。

  • 使用 SimpleStyle 组件来呈现日历图标。

最后,在浏览器中打开应用程序。内容将呈现如下图所示 −

Inline Style

摘要

内联样式可帮助开发人员快速包含 CSS 样式,而无需担心 CSS 样式冲突。此外,语法与 CSS 非常相似,开发人员可以轻松使用该功能,而无需太多学习曲线。