React Native面试题——Redux之常见面试题(1)
一 概述
- Redux 是什么?为什么在 React Native 中使用 Redux?
- Redux 的核心原理有哪些?
- Redux 的工作流程是怎样的?
- 你在 React Native 项目中是如何组织 Redux 结构的?
- 什么是中间件(Middleware)?Redux 中有哪些常用中间件?
- redux-thunk 是什么?它是如何工作的?
- Redux 和 React 的 Context 有什么区别?
- 在 React Native 中如何将组件连接到 Redux?
- 如何在 Redux 中实现模块拆分?(Redux 模块化管理)
- Redux 持久化(redux-persist)是如何实现的?
二 面试题解答(仅供参考)
2.1 Redux 是什么?为什么在 React Native 中使用 Redux?
1 | Redux 是一个 JavaScript 应用状态管理库, |
2.2 Redux 的核心原理有哪些?
1 | Redux 的核心原理包括: |
2.3 Redux 的工作流程是怎样的?
1 | 1.组件调用 dispatch(action) 发送一个 Action; |
2.4 你在 React Native 项目中是如何组织 Redux 结构的?
1 | 典型的 Redux 项目结构如下: |
2.5 什么是中间件(Middleware)?Redux 中有哪些常用中间件?
1 | Middleware是Redux的中间处理层,它在Action被发送和到达Reducer之间拦截、处理 Action。 |
2.6 redux-thunk 是什么?它是如何工作的?
1 | redux-thunk 是 Redux 的中间件, |
2.7 Redux 和 React 的 Context 有什么区别?
项目 | Redux | React Context |
---|---|---|
使用场景 | 大型应用,复杂状态共享 | 简单状态共享(如主题/语言) |
状态更新机制 | 基于 reducer 和 action | 基于 useContext和 useState |
中间件支持 | 支持(如 thunk、saga) | 无内建中间件机制 |
性能优化 | 更易控制更新粒度 | 多个组件使用会引起不必要重渲染 |
2.8 在 React Native 中如何将组件连接到 Redux?
1 | 使用 react-redux 提供的 connect() 或 useSelector 和 useDispatch: |
2.9 如何在 Redux 中实现模块拆分?(Redux 模块化管理)
1 | 使用 combineReducers 将不同模块拆分,每个模块管理独立的 state: |
2.10 Redux 持久化(redux-persist)是如何实现的?
1 | 使用 redux-persist 可将 Redux 的 state 持久化到本地(如 AsyncStorage): |