1. react 中 keys 的作用是什么?
key是react中用于追踪哪些列表中元素被修改、删除或者被添加的辅助标识。在diff算法中,key用来判断该元素节点是被移动过来的还是新创建的元素,减少不必要的元素重复渲染。
2. react 中有哪些构建组件的方式?
有什么区别?
函数组件看似只是一个返回值是dom结构的函数,其实它的背后是无状态组件的思想。函数组件中,你无法使用state,也无法使用组件的生命周期方法,这就决定了函数组件都是展示性组件,接收props,渲染dom,而不关注其他逻辑函数组件中没有this函数组件更容易理解。当你看到一个函数组件时,你就知道它的功能只是接收属性,渲染页面,它不执行与ui无关的逻辑处理,它只是一个纯函数。而不用在意它返回的dom结构有多复杂3.调用 setstate 之后发生了什么?
4.react diff 原理把树形结构按照层级分解,只比较同级元素给列表结构的每个单元添加唯一的 key 属性,方便比较react 只会匹配相同 class 的 component(这里面的 class 指的是组件的名字)选择性子树渲染。开发人员可以重写shouldcomponentupdate 提高 diff 的性能5.为什么建议传递给 setstate 的参数是一个 callback 而不是一个对象
因为this.props 和this.state 的更新可能是异步的,不能依赖它们的值去计算下一个 state
6.关于this绑定?
7.setstate第二个参数的作用
该函数会在setstate函数调用完成并且组件开始重渲染的时候被调用,我们可以用该函数来监听渲染是否完成
8.(在构造函数中)调用 super(props) 的目的是什么
在 super() 被调用之前,子类是不能使用 this 的,在 es5 中,子类必须在 constructor 中调用 super()。传递 props 给 super() 的原因则是便于(在子类中)能在 constructor 访问 this.props
9.flux的思想和流程?
flux 的最大特点,就是数据的"单向流动"。
流程:
用户访问view
view发送用户的action
dispatcher接收action,要求store进行相应的更新
store更新后,发送一个change事件
view收到change事件后,更新页面。
10. 在 react 当中 element 和 component 有何区别?createelement 函数是 jsx 编译之后使用的创建 react element的函数cloneelement 则是用于复制某个元素并传入新的 props11.createelement 和 cloneelement 有什么区别
更多编程相关内容,请关注php中文网编程入门栏目!
建网站需合乎哪些原则阿里云租用境外服务器可以吗新锐云gpu服务器租用赶上建网站热潮的企业能得到什么腾讯云服务器系统挂掉怎么搞云服务器怎么装包浪潮云服务器配置教程5分钟建一个响应式动态网站的CARRD