文章目录
-
-
- 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 = () => {
const [count, setCount] = useState(0);
return (
<div>
<h1>计数器</h1>
<p>当前计数: