1、片段Fragment的使用
在之前的开发中,我们总是在一个组件中返回内容时包裹一个div元素:
import React, { PureComponent, Fragment } from 'react'// 当我们不需要的外层包裹一个dom结构的时候 可以使用Fragment片段 可使用<></>语法糖进行简写export default class App extends PureComponent {render() {return (// <Fragment>// <p>文章片段</p>// <h2>二级标题</h2>// </Fragment><><p>文章片段</p><h2>二级标题</h2></>)}}
我们又希望可以不渲染这样一个div应该如何操作呢?
- 使用Fragment
- Fragment 允许你将子列表分组,而无需向DOM添加额外节点
React还提供了Fragment的短语法形式
- 它看起来像空标签<></>
- 但是,如果我们需要在Fragment中添加key,那么就不能使用短语法(在数组和列表的循环中需要绑定key值的时候)
当Fragment绑定key值的时候,不可以使用语法糖(不能使用短语法)
import React, { PureComponent, Fragment } from 'react'// 当我们不需要的外层包裹一个dom结构的时候 可以使用Fragment片段 可使用<></>语法糖进行简写export default class App extends PureComponent {constructor(props) {super(props)this.state = {todoList: [{ id: 110, name: '吃饭' },{ id: 111, name: '睡觉' },{ id: 112, name: '打豆豆' },]}}render() {return (<div><h2>待办事项</h2><div>this.state.todoList.map(item => {return (// 不可以使用<></>来绑定key值 这里是有问题的<Fragment key={ item.id }><span>id-{ item.id }</span><span>项目-{ item.name }</span></Fragment>)})</div></div>)}}
2、strictMode(严格模式的使用)
StrictMode是一个用来突出显示应用程序中潜在问题的工具
2.1 严格模式的特点:
- 与Fragment一样,StrictMode不会渲染任何可见的UI
- 它为其后代元素触发额外的检查和警告
- 严格模式检查仅在开发模式下运行,它不会影响生产构建
- 严格模式是一个高阶组件,主要是对包裹在其内部的标签组件进行严格模式的检查,高阶组件的本质是一个函数,这个函数接受一个组件作为参数,返回一个新的组件。
我们可以为应用程序的任何部分、模块或者组件启用严格模式,只会对包裹在其内部的组件进行严格模式的检查。
2.2 严格模式检查的是什么?
3、React中的CSS样式
3.1 普通CSS样式的书写
在react的项目开发中,可以直接按照原生的css样式进行书写,但是原生css样式的书写方法存在相应的缺点。
3.2 CSS Modules的使用
css modules的优点和缺点

3.3 CSS in javascript
css in js的原理:

styled-components库的使用

4、class添加的相关方法
4.1 在vue中给标签添加class类名
4.2 在react中给标签添加class类名
使用原生的方法添加class
借助第三方库classnames来添加相应的class

