1.state和props区别是什么?
相同点:都是普通的js对象,他们包含着影响渲染输出的信息
不同点: state是组件自己管理数据,控制自己的状态,可变
props是外部传入的数据参数,可变
没有state的叫做无状态组件,有state的叫有状态组件
多用props,少用state。
2.什么是高阶组件?
高阶组件(HOC)是接受-个组件并返回一个新组件的函数。基本上,这是一个模式, 是从React的组合特性中衍生出来的,称其为纯组件,因为它们可以接受任何动态提供的子组件,但不会修改或复制输入组件中的任何行为
HOC可以用于以下许多用例
●代码重用、逻辑和引导抽象
●渲染劫持
●state 抽象和操作
●props处理
3.调用 setState 之后发生了什么?
在代码中调用 setState 函数之后,React 会将传入的参数与之前的状态进行合并,然后触发所谓的调和过程。经过调和过程,React 会以相对高效的方式根据新的状态构建 React 元素树并且着手重新渲染整个 UI 界面。在 React 得到元素树之后,React 会计算出新的树和老的树之间的差异,然后根据差异对界面进行最小化重新渲染。通过 diff 算法,React 能够精确制导哪些位置发生了改变以及应该如何改变,这就保证了按需更新,而不是全部重新渲染。
4.vue和react的区别?
1、react严格 上针对的是mvc模式的view层, vue则是mvvm模式。
2、操作dom的方式不同, vue使用的是指令操作dom, react是通过js进行操作。
3、数据绑定不同, vue实现的是双向绑定,react的数据流动是 单向的。
4、react中state是不能直接改变的,需要使用setState改变。vue中的state不是必须的,数据主要是由data属性在vue对象中管理的。
5.跳转传参有几种方式?
三种,params传参,search传参,state传参,
更常用的是编程式路由。
6.react怎么实现父子组件传值
1. 父传子:子组件标签里写自定义属性传递,接收用props.自定义属性。
2. 子传父:将想要交给父组件的数据以函数入参的形式给出去。