React基础-3.组件 样式

参考:黑马程序员

1.组件

组件名称的首字母必须是大写

1.1 第一种创建组件方式

1.1.1 第一种创建组件方式

在这里插入图片描述

  • 传值:
    下面是只读的:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

1.1.2 了解ES6的展开符写法:

在这里插入图片描述
ES6 …例子:
在这里插入图片描述

1.2 抽离组件

抽离:
在这里插入图片描述
导入:
在这里插入图片描述
要省略后缀名,需要单独配置,方法:
在这里插入图片描述

  • 要使得 @ 指向根目录中的src文件,要配置webp:
    在这里插入图片描述在这里插入图片描述

1.3 第二种创建组件方式 class (√ 更常用)

1.3.1 了解ES6中 class 关键字的使用

  1. class 中 constructor 的基本使用
  2. 实例属性和实例方法
  3. 静态属性和静态方法
  4. 使用 extends 关键字实现继承
  • ES6 class 举例:实例属性、静态属性 ------ 实例方法、静态方法
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1.3.2 class 创建组件:

最基本的组件结构:
在这里插入图片描述

   class 组件名称 extends React.Component {
       render(){
           return <div>这是 class 创建的组件</div>
       }
   }

必须有render(){} 且必须返回合法的JSX虚拟DOM结构
在这里插入图片描述

1.3.3 class组件 传参

在这里插入图片描述
这时和第一种相同,它也是只读的
在这里插入图片描述

1.4 两种创建组件方式的对比

  • 在这里插入图片描述在这里插入图片描述
  • class 有this.state 里面的数据可读写
    在这里插入图片描述
    在这里插入图片描述

1.5 事件调用

在这里插入图片描述在这里插入图片描述

数据绑定

修改 state中的数据

在这里插入图片描述
this.setState的调用要注意:

在这里插入图片描述
可以采用回调:
在这里插入图片描述

双向绑定

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.样式

  • 直接style
    在这里插入图片描述

  • 抽离成单独的样式表模块
    在这里插入图片描述
    在这里插入图片描述

  • css文件
    任何一个component导入外部的css文件,它都是全局的css文件。
    在这里插入图片描述
    在这里插入图片描述

样式模块化

  • 在Vue中可以使用
  • 在React中:只针对类选择器和ID选择器,其他的例如标签无作用;利用属性绑定类名
    import cssObj from ‘@/css/index.css’
    如果输出 cssObj 可以发现有一些属性,给类名分配了一个字符串
    在这里插入图片描述
    在这里插入图片描述
  • React自定义类名:
    在这里插入图片描述
    在这里插入图片描述
  • 取消某个类的模块化:即相当于变全局
    在这里插入图片描述

在项目中启用模块化并同时使用bootstrap时

  • 如果不想要把第三方css库做模块化,则:规定只为less 或scss 文件做模块化
  • 在这里插入图片描述
    在这里插入图片描述
rules: [
            { test: /\.js|jsx$/, use: 'babel-loader', exclude: /node_modules/ },
            { test:/\.css$/, use:['style-loader','css-loader']},
            { test: /\.ttf|woff|woff2|eot|svg$/, use: 'url-loader' },
            { test: /\.scss$/, use: ['style-loader','css-loader?modules&localIdentName=[path][name]-[local]-[hash:5]','sass-loader'] },
        ]

导入 bootstrap:

import 'bootstrap/dist/css/bootstrap.css'

引用bootstrap样式:

<button className=“btn btn-primary”}>button</button>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值