react组件中如何设置DOM样式
小编给大家分享一下react组件中如何设置DOM样式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
1、行内样式
想给虚拟dom添加行内样式,需要使用表达式传入样式对象的方式来实现
行内样式需要写入一个样式对象,而这个样式对象的位置可以放在很多地方
例如:render函数里、组件原型上、外链js文件中
注意:这里的两个括号,第一个表示我们在要JSX里插入JS了,第二个是对象的括号
Hello world
2、使用class
React推荐我们使用行内样式,因为React觉得每一个组件都是一个独立的整体
其实我们大多数情况下还是大量的在为元素添加类名,但是需要注意的是,class需要写成className(因为毕竟是在写类js代码,会收到js规则的现在,而class是关键字)
import React, { Component } from 'react'1. 外部引入定义的样式import styles from './style.css'class ClassStyle extends Component { render() { // js逻辑 let className = cx({ font: false }) return ( <> hello 样式
world <> ) }}export default ClassStyle3、classNames不同的条件添加不同的样式
有时候需要根据不同的条件添加不同的样式,比如:完成状态,完成是绿色,未完成是红色。那么这种情况下,我们推荐使用classnames这个包:
目的:
由于react原生动态添加多个className会报错
import style from './style.css'想要得到最终渲染的效果是:
下载安装
npm i -S classnames
使用
import classnames from 'classnames'4、css-in-js
styled-components是针对React写的一套css-in-js框架,简单来讲就是在js中写css。npm链接
传统的前端方案推崇"关注点分离"原则,HTML、CSS、JavaScript 应该各司其职,进行分离。
而在react项目中,更提倡组件化方案,自然形成了将HTML、CSS、JavaScript集中编写管理的方式。
styled-components 应该是CSS-in-JS最热门的一个库,通过styled-components,你可以使用ES6的标签模板字符串语法,为需要styled的Component定义一系列CSS属性,当该组件的JS代码被解析执行的时候,styled-components会动态生成一个CSS选择器,并把对应的CSS样式通过style标签的形式插入到head标签里面。动态生成的CSS选择器会有一小段哈希值来保证全局唯一性来避免样式发生冲突。
1.安装
npm i -S styled-components
定义样式
2.样式js文件import styled from 'styled-components'const Title = styled.div` color:red; font-size:16px; h4{ color:blue; font-size:20px; }`export { Title}显示
就像使用常规 React 组件一样使用 Titleimport React, { Component } from 'react'import { Title } from './Styles'class App extends Component {render() { return (); }}export default App我只是一个标题 你好世界
3.样式继承
样式import styled from 'styled-components'const Button = styled.button` font-size: 20px; border: 1px solid red; border-radius: 3px;`;// 一个继承 Button 的新组件, 重载了一部分样式const Button2 = styled(Button)` color: blue; border-color: yellow;`;export { Button, Button2}显示
import React, { Component } from 'react'import {Button,Button2} from './Styles'class App extends Component {render() { return ();}}export default App我是一个按钮2 4.属性传递
样式import styled from 'styled-components'const Input = styled.input` color: ${props => props.inputColor || "blue"}; border-radius: 3px;`;export { Input}显示
import React, { Component } from 'react'import { Input } from './Styles'class App extends Component {render() { return ();}}export default App以上是"react组件中如何设置DOM样式"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
样式 组件 不同 对象 动态 标签 篇文章 代码 内容 属性 情况 括号 按钮 文件 方式 方案 条件 推荐 生成 选择 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 db2远程导出数据库 计算机网络技术课程安排 数据库面试会问什么问题 如何取消服务器安全狗认证 宁波江北区财务软件开发 做oa的数据库 下列关于网络安全法意义的表述 昔阳天气预报软件开发 物流数据库设计专业简称 数据库包含什么资料 5g的无线网络安全性 浏览器远程服务器 条形码字体软件开发 建立接待数据库的目的 达梦数据库连接 服务器80端口对外映射安全么 河东金蝶软件开发哪家强 北京科思服务器 我的世界斗罗大陆服务器武魂真身 网络安全等保方案 考试酷网络安全考试试卷 西安高新区网络安全 旧版天堂2第一服务器巴赫纵横 唐山盛晨互联网科技 如何打开网页的数据库 公安部 网络安全 视频 sql远程服务数据库 台服dnf数据库 软件开发危机处理 数据库表限制输入长度