React常用面试题分析整理

作者: Allan要做活神仙 | 来源:发表于2017-01-13 10:49 被阅读3237次

备份看:
http://www.zhangxinxu.com/php/myRecommBackup.php?id=2017-ali-view
知乎-如何考察候选人的react技术水平? https://www.zhihu.com/question/60548673

调用setState之后发生了什么?

调用setState函数之后,react会将传入的参数对象与组件当前的状态合并,然后触发调和过程(Reconciliation)。以高效方式根据新的状态构建React元素树并且着手重新渲染整个UI界面。在 React 得到元素树之后,React 会自动计算出新的树与老树的节点差异,然后根据差异对界面进行最小化重渲染。(按需渲染,不是全部渲染)

React 中 Element 与 Component 的区别是?

React Element 是描述屏幕上所见内容的数据结构,是对于 UI 的对象表述。典型的 React Element 就是利用 JSX 构建的声明式代码片然后被转化为createElement的调用组合;
React Component 则是可以接收参数输入并且返回某个 React Element 的函数或者类。

React 中 refs 的作用是什么?

访问 DOM 元素或者某个组件实例的句柄。

在什么情况下你会优先选择使用 Class Component 而不是 Functional Component(函数式组建)?

在组件需要包含内部状态或者使用到生命周期函数的时候使用 Class Component ,否则使用函数式组件。

//  类组件
class CustomForm extends Component {
  handleSubmit = () => {
    console.log("Input Value: ", this.input.value)
  }
  render () {
    return (
      <form onSubmit={this.handleSubmit}>
        <input
          type='text'
          ref={(input) => this.input = input} />
        <button type='submit'>Submit</button>
      </form>
    )
  }
}
//  函数式组件
function CustomForm ({handleSubmit}) {
  let inputElement
  return (
    <form onSubmit={() => handleSubmit(inputElement.value)}>
      <input
        type='text'
        ref={(input) => inputElement = input} />
      <button type='submit'>Submit</button>
    </form>
  )
}

React 中 keys 的作用是什么?

Keys 是 React 用于追踪哪些列表中元素被修改、被添加或者被移除的辅助标识。
在 React Diff 算法中 React 会借助元素的 Key 值来判断该元素是新近创建的还是被移动而来的元素,从而减少不必要的元素重渲染。

在生命周期中的哪一步你应该发起 AJAX 请求?

componentWillMount

shouldComponentUpdate 的作用是啥以及为何它这么重要?

允许我们手动地判断是否要进行组件更新,根据组件的应用场景设置函数的合理返回值能够帮我们避免不必要的更新。

传入 setState 函数的第二个参数的作用是什么?

该函数会在setState函数调用完成并且组件开始重渲染的时候被调用,我们可以用该函数来监听渲染是否完成:

this.setState(
  { username: 'tylermcginnis33' },
  () => console.log('setState has finished and the component has re-rendered.')
)

相关文章

  • react-native面试题整理

    2018.06.13更新:React 常用面试题目与分析https://zhuanlan.zhihu.com/p/...

  • React常用面试题分析

    React常用面试题分析 React中调用setState之后发生了什么事情? React会将当前传入的参数对象与...

  • React常用面试题分析整理

    备份看:http://www.zhangxinxu.com/php/myRecommBackup.php?id=2...

  • react源码解析1.开篇介绍和面试题

    react源码解析1.开篇介绍和面试题 视频课程/demo 课程目录 怎样学习react源码 作为前端最常用的js...

  • React Native开发中常用三方组件库大全

    React Native开发中常用三方组件大全 作者整理的一套常用的React Native开发中使用到的三方组件...

  • 前端React面试题

    最近看到的一些面试题,收集整理了下,以后说不定也会用到 一份react-native面试题 发布时间:2017.0...

  • React面试

    整理了在react前端面试中,常会问到的东西,不仅限于react,还包括前端常用的基础 1.关于react框架 谈...

  • React 面试题整理

    一、react 和 vue 的区别是什么? 1、vue是响应式的数据双向绑定系统,而react是单向数据流,没有双...

  • React Native 之常用第三方库

    整理的一份 React Native 开发中常用的三方组件库大全。 完整的 App 使用React Native开...

  • React-Redux分析

    React-Redux分析 Redux,作为大型React应用状态管理最常用的工具,其概念理论和实践都是很值得我们...

网友评论

    本文标题:React常用面试题分析整理

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