关于 React 的面试题及其解析

文章目录

      • 1.什么是 React(概念)?
      • 2. React 组件有哪些类型?
      • 3. 什么是 JSX?
      • 4. 如何创建 React 组件?
      • 5. React 中的 state 是什么?
      • 6. props 与 state 的区别是什么?
      • 7. 受控组件与非受控组件的区别?
      • 8. React 组件的生命周期包括哪些阶段?
      • 9. 常用的生命周期方法有哪些?
      • 10. React 16.3 之后哪些生命周期方法被标记为 UNSAFE?
      • 11. 什么是高阶组件(HOC)?
      • 12.React Hooks 有哪些?
      • 13. 如何使用 useState Hook?
      • 14. 如何在 React 中进行性能优化?
      • 15. 什么是虚拟 DOM?
      • 16. React 的虚拟 DOM 是如何工作的?
      • 17. 为什么浏览器无法读取 JSX?
      • 18. React 中的 key 有什么作用?
      • 19. 如何理解 “在 React 中,一切都是组件”?
      • 20. React 中的事件处理机制是怎样的?
      • 21.什么是 React 的严格模式(StrictMode)?
      • 22. React 中的表单处理是如何实现的?
      • 23. 如何进行 React 项目的部署?
      • 24. Redux 在 React 中的作用是什么?
      • 25. React 与 Redux 的结合方式是怎样的?
      • 26. 如何在 React 中实现路由导航?
      • 27. React 中的 lazy loading(懒加载)是如何实现的?
      • 28. React 中的代码分割(code splitting)是如何实现的?
      • 29. React 中的 context 有什么用?如何使用?
      • 30. React 中的 refs 是什么?如何使用?


1.什么是 React(概念)?

  • 答案:React 是一个用于构建用户界面的 JavaScript 库,起源于 Facebook 的内部项目。它采用声明式、组件化的方式管理应用 UI,将 UI 划分为独立的可重用组件,通过组件之间的数据传递来构建动态的用户界面。

2. React 组件有哪些类型?

  • 答案:主要有函数组件和类组件两种类型。函数组件接收 props 作为参数并返回 React 元素;类组件使用 ES6 类语法,扩展自 React.Component,可以使用 this 关键字访问组件的状态和生命周期方法。

3. 什么是 JSX?

  • 答案:JSX 是 React 的语法扩展,它允许在 JavaScript 代码中写类似 HTML 的标签。JSX 最终会被 Babel 转译成 React.createElement 调用。

4. 如何创建 React 组件?

  • 答案:可以通过函数或类来创建 React 组件。函数组件直接返回 React 元素;类组件需要继承 React.Component 并在 render 方法中返回 React 元素。

示例代码

  • Greeting.jsx(函数组件):
    import React from 'react';
    
    const Greeting = ({
           name }) => {
         
      return <h1>Hello, {
         name}!</h1>;
    };
    
    export default Greeting;
    
  • Welcome.jsx(类组件):
    import React, {
          Component } from 'react';
    
    class Welcome extends Component {
         
      render() {
         
        const {
          name } = this.props;
        return <h1>Welcome, {
         name}!</h1>;
      }
    }
    
    export default Welcome;
    
  • App.js(主组件,使用上述两个组件):
    import React from 'react';
    import Greeting from './Greeting';
    import Welcome from './Welcome';
    
    const App = () => {
         
      return (
        <div>
          <Greeting name="Alice" />
          <Welcome name="Bob" />
        </div>
      );
    };
    
    export default App;
    

运行React项目,会看到页面上显示了两个问候语:“Hello, Alice!”和“Welcome, Bob!”。这两个问候语分别由函数组件Greeting和类组件Welcome渲染而来。

5. React 中的 state 是什么?

  • 答案:state 是组件记忆信息的一种方式,它允许组件在数据变化时重新渲染。state 是组件私有的,并且只能通过 setState 方法来更新。

示例代码

Counter.jsx(包含计数器和按钮)

import React, {
    useState } from 'react';

const Counter = () =&gt; {
   
  const [count, setCount] = useState(0);

  return (
    <div>
      <h1>计数器</h1>
      <p>当前计数: 

你可能感兴趣的:(前端技术面试,react.js,前端,前端框架)