第6章 React使用
6-2 JSX基本知识点串讲
- 获取变量和插值
- 表达式
- 子元素
- class
- style
- 原生html
- 加载组件
6-3 JSX如何判断条件和渲染列表
条件判断
- if else
- 三元表达式
- &&
列表渲染
- map
- key
6-4 React事件为何bind this
事件
- bind this
初始化执行一次
- 关于event参数
- 传递自定义参数
6-5 React事件和DOM事件的区别
补传右面丢失:
- event 是 SyntheticEvent,模拟出来 DOM 事件所有能力
- event.nativeEvent 是原生事件对象
- 所有事件,都被挂载到 document 上
- 和 DOM 事件不一样,和 vue 事件也不一样
6-6 React表单知识点串讲
受控组件:(类似于 v-model)
6-7 React父子组件通讯
-
props 传递数据
-
props 传递函数
-
props 类型检查
6-8 setState为何使用不可变值
- 不可变值
不能改变原数组(函数式编程,纯函数)
对象
6-9 setState是同步还是异步
直接使用,异步:类比 vue $nextick
setTimeout 中同步
自定义事件中,同步,在 componentDidMount 中
6-10 setState合适会合并state
- state 异步更新的话,更新前会被合并
对象中(类似于
Object.assign)
函数中
6-11 React组件生命周期
cdm cdu cwunm
- 性能优化
scu
6-12 React基本使用-知识点总结和复习
6-13 React函数组件和class组件有何区别
- 只接受props,渲染结果
区别
6-14 什么是React非受控组件(input的值不受state的控制)
- ref (类似vue ref= "ul1" this.$refs.ul1 )
- defaultValue defaultCheckd
- 手动操作 DOM 元素
上传文件
非受控组件的-使用场景
- 插入图片、文件
受控组件 vs 非受控组件
6-15 什么场景需要用React Portals(传送门)
固定定位
使用场景
6-16 是否用过React Context(上下文)
- 公共信息(语言、主题)如何传递给每个组件(任意跨级)
- props太繁琐(无法跨级)
- redux小题大做
class 组件 (es6: static 静态属性)
函数组件
6-17 React如何异步加载组件
- 类比:import() --vue 使用
- React.lazy
- React.Suspense(悬念; 悬而未决,含糊不定; 焦虑,挂念; 中止,暂停.悬停)
6-18 React性能优化-SCU的核心问题在哪里(06:55)
SCU 基本用法:
6-19 React性能优化-SCU默认返回什么
- true (React默认:父组件更新,子组件则无条件也更新)
6-20 React性能优化-SCU一定要配合不可变值
在比较 nextProps 和 this.props 写法错误违反不可变值,导致改变原数组,从而不渲染
6-21 React性能优化-PureComponent和memo
- PureComponent(纯组件),SCU中实现钱比较
- memo(备忘录),函数组件使用
6-22 React性能优化-了解immutable.js(不可变值)
- 彻底拥抱 不可变值
- 基于共享数据(不是深拷贝),速度好
6-23 什么是React高阶组件(HOC)-公共组件逻辑的抽离
例子:
对比:vue 如何实现高阶组件?
6-24 Render Props
6-25 React高级特性考点总结
6-26 Redux考点串讲
6-27 描述Redux单项数据流
- dispath(action)
- reduer -> newState
- subscribe(触发通知)
6-28 串讲react-redux知识点
使用组件:
参数使用了解构