美文网首页
React相关

React相关

作者: zhenghongmo | 来源:发表于2019-12-19 16:25 被阅读0次

    1. 受控组件VS 非受控组件

    • <FInput value={x} onChange={fn}/> 受控组件
    • <FInput defaultValue={x} ref={input}/> 非受控组件
    • 受控组件的状态由开发者维护,非受控组件的状态由组件自身维护(不受开发者控制)

    2. React 有哪些生命周期函数?分别有什么用?(Ajax 请求放在哪个阶段?)

    • 钩子
    • componentDidMount中请求数据
    • componentDidMount、componentDidUpdate()、componentWillUnmount

    3. React如何实现组件通信?

    • 父子靠 props 传函数
    • 爷孙可以穿两次 props
    • 任意组件用 Redux(也可以自己写一个 eventBus)

    4. shouldComponentUpdate 有什么用?

    • 用于在没有必要更新 UI 的时候返回 false,以提高渲染性能

    5.虚拟DOM 是什么?

    • 虚拟 DOM 就是用来模拟 DOM 的一个对象,这个对象拥有一些重要属性,并且更新 UI 主要就是通过对比(DIFF)旧的虚拟 DOM 树 和新的虚拟 DOM 树的区别完成的。
    • 虚拟DOM

    6.高阶组件?

    • 高阶组件就是一个函数,且该函数接受一个组件作为参数,并返回一个新的组件。---高阶组件
    • React-Redux 里 connect 就是一个高阶组件,比如 connect(mapState)(MyComponent) 接受组件 MyComponent,返回一个具有状态的新 MyComponent 组件。

    7. React diff 的原理是什么?

    8. Redux 是什么?

    • Redux 是 JavaScript 状态容器,提供可预测化的状态管理。重点是『状态管理』。
    • Action/Reducer/Store/单向数据流
    • store.dispatch(action)/store.getState()

    9. connect 的原理是什么

    • react-redux 库提供的一个 API,connect 的作用是让你把组件和store连接起来,产生一个新的组件(connect 是高阶组件)
    • react-redux

    10. PureComponent VS Component

    • PureComponent: 只对比props的第一层的所有值,若第一层所有值一样就不会更新当前组件
    • Component: 会对比所有值

    11、vue&React区别

    • Vue 的表单可以使用 v-model 支持双向绑定,相比于 React 来说开发上更加方便,当然了 v-model 其实就是个语法糖,本质上和 React 写表单的方式没什么区别。
    • 改变数据方式不同,Vue 修改状态相比来说要简单许多,React 需要使用 setState 来改变状态,并且使用这个 API 也有一些坑点。并且 Vue 的底层使用了依赖追踪,页面更新渲染已经是最优的了,但是 React 还是需要用户手动去优化这方面的问题。
    • React 16以后,有些钩子函数会执行多次,这是因为引入 Fiber 的原因,这在后续的章节中会讲到。
    • React 需要使用 JSX,有一定的上手成本,并且需要一整套的工具链支持,但是完全可以通过 JS 来控制页面,更加的灵活。Vue 使用了模板语法,相比于 JSX 来说没有那么灵活,但是完全可以脱离工具链,通过直接编写 render 函数就能在浏览器中运行。
    • 在生态上来说,两者其实没多大的差距,当然 React 的用户是远远高于 Vue 的。
    • 在上手成本上来说,Vue 一开始的定位就是尽可能的降低前端开发的门槛,然而 React 更多的是去改变用户去接受它的概念和思想,相较于 Vue 来说上手成本略高。

    相关文章

      网友评论

          本文标题:React相关

          本文链接:https://www.haomeiwen.com/subject/hqgmnctx.html