1.受控组件和非受控组件的区别
受控组件顾名思义:受控制的组件,
比如正常input,保持自己原有状态就是非受控组件。添加value(因为修改了dom节点上的值),onchange就是受控组件。
input用ref的控制修改是非受控组件,defaultvalue也是非受控
2.react如何获取DOM
1.通过js获取 document.getElementById(' ')
2.react原生函数findDOMNode获取dom ReactDom.findDOMNode().style.color=''
3.通过ref定义一个组件,ref确保唯一
3.如何理解HOC高阶组件
高阶组件就是将复用的方法传给组件
具体操作:实例化组件,把需要复用的方法和state传给次组件,然后次组件中的props就可以进行获取
4,什么是ref
可以在dom节点上进行使用
可以通过父组件的函数,来调用子组件的函数,或者修改子组件的状态
5.如何理解redux
参考链接:https://blog.csdn.net/IT_10/article/details/100622787
6.什么是虚拟Dom
概括:每次state发生改变,react就会创建一个虚拟的DOM和之前的Dom树进行对比差异
7.react使用感觉
只提供了view层
代码更加模块化,重用化
使用jsx可读性好
8.react的生命周期
9.props和state区别
state:修改状态,constructor初始化使用。不能外部访问修改。只能this.setState修改重新渲染
props:通常用于,父组件向子组件传参。
*react是单项数据流,props子页面内获取this.props...子页面不可修改`在这里插入代码片`
10,钩子HOOK
hook可以在不用修改组件结构情况下复用状态逻辑
useEffect(()=>{
//相当于componentDidMount 和 componentDidUpdate
return()=>{
//相当于componentWillUnmount
}
})
11.state为什么只可以用this.setState进行修改
构造函数,可以分配状态的唯一位置
12.类组件和函数组件的区别
类组件:有状态,不能修改props,
函数组件:性能更优化,接收一个单一的props返回react元素
13.使用过redux吗? useMemo(),useEffect()区别
reudx自行百度,useMemo解决重复渲染问题,useEffect是生命周期钩子