Skip to main content

知识点

React Native 知识点总结

涵盖基础知识、性能优化、架构设计等多个维度:

一、基础知识

  1. 核心概念

    • React Native 与 React 的区别
    • 虚拟 DOM 原理
    • 声明式 vs 命令式编程范式
  2. 组件与状态管理

    • 函数组件 vs 类组件
    • useState、useEffect、useContext 等 Hooks 的使用场景
    • Redux、Redux Toolkit、Context API 的适用场景
  3. 样式与布局

    • Flexbox 布局原理
    • StyleSheet 的性能优势
    • 响应式设计实现方式
  4. 生命周期与渲染机制

    • 类组件生命周期函数(如 componentDidMount)
    • 函数组件的渲染流程
    • 避免不必要的重渲染(React.memo、useMemo、useCallback)

二、性能优化

  1. 渲染性能

    • FlatList/SectionList 替代 ScrollView 处理长列表
    • 避免大型组件树的深层嵌套
    • 使用 shouldComponentUpdate 或 React.memo 进行渲染拦截
  2. 内存管理

    • 避免内存泄漏(如未清理的定时器、事件监听器)
    • 图片资源优化(使用 Image 组件的 resizeMode、缓存策略)
  3. 异步操作

    • Promise、Async/Await 的使用
    • 网络请求优化(缓存、批量请求)

三、原生交互与集成

  1. 原生模块(Native Modules)

    • 如何创建跨平台原生模块
    • 异步桥接机制(JavaScript 与原生代码通信)
  2. 原生 UI 组件(Native UI Components)

    • 自定义原生视图组件的实现
    • React Native 与原生视图混合开发

四、调试与部署

  1. 调试工具

    • React DevTools、Chrome DevTools 使用
    • Flipper 调试平台功能
    • 日志系统与错误捕获(Sentry 集成)
  2. 发布流程

    • Android APK/AAB 打包流程
    • iOS App Store 发布注意事项
    • CodePush 热更新原理与实践

五、架构与最佳实践

  1. 项目架构设计

    • MVVM、MVI 等架构模式应用
    • 模块化与组件化设计
    • 状态管理方案选型(Redux、MobX、Zustand)
  2. 测试与质量保障

    • Jest、React Native Testing Library 单元测试
    • E2E 测试(Detox)
    • CI/CD 流程搭建(GitHub Actions、Jenkins)

六、常见问题与解决方案

  1. 跨平台兼容性

    • 处理 Android/iOS 差异(SafeAreaView、Platform 模块)
    • 字体与尺寸适配方案
  2. 第三方库集成

    • 导航库(React Navigation)
    • 表单处理(React Hook Form)
    • 动画库(Animated、Reanimated)

七、高级话题

  1. 新特性与发展趋势

    • React 18 的并发渲染与自动批处理
    • React Native Fabric 渲染器
    • Expo 生态系统与无原生代码开发
  2. 混合开发方案

    • 与 WebView 集成
    • Flutter 与 React Native 的对比

面试准备建议

  1. 动手实践:准备一个个人项目,展示组件设计、状态管理、性能优化等能力。
  2. 源码阅读:了解核心库(如 React、React Native)的关键实现原理。
  3. 场景化回答:用实际案例说明问题解决思路(如内存泄漏排查、复杂交互实现)。

希望这些要点能帮助你在面试中展现扎实的技术功底和解决问题的能力!