React/ReactNative面试攻略(偏RN)

  1. useMemo Vs useCallBack

  1. useMemo第一个参数返回的是值,useCallBack返回的是函数

  1. useMemo和useCallBack第二个参数都是依赖项

  1. useMemo避免组件非依赖项更新时参数的计算

  1. useCallback避免父组件非依赖项更新时造成子组件的重复渲染

  1. React.memo 使用场景

  1. 纯prue组件(没有内部依赖)

  1. 子组件有回调函数,搭配useCallBack使用

  1. 组件经常被相同props重复渲染

  1. 全局状态管理方案

  1. Context官方提供的一种跨组件访问的一种方案

  1. React.createContext 创建上下文,并接受默认参数,并返回provider和consumer组件

  1. 也可用useContext获取上下文

  1. useReducer与useContext结合

  1. useReducer创建state状态,再使用useContext共享数据

  1. Redux 常用全局状态管理

  1. 创建createStore

  1. App.js 中添加订阅:

<Provider store={reduxStore}>
    {Childer}
</Provider>
  1. 使用

// useDispatch用于导出dispatch方法
  const dispatch = useDispatch();
//state
  const counter = useSelector<CounterState, number>((state) => state.counter);
  1. Redux流程

  1. 用户操作或者函数触发dispatch,将数据请求传给store

  1. store直接提交action给reducers,reducer根据action的类型处理数据后,并将处理结果返回store

  1. store将结果返回到组件

  1. setState

  1. setState是异步更新

  1. 在合成事件,通过设置isBatchingUpdates设置为false,先获取state再赋值,体现为中同步更新:addEventListener、setTimeout、setInterval

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Native面试题可以包括以下几个方面: 1. React Native***应用的框架,基于React的思想和语法。它可以使用JavaScript和React的开发方式来构建原生应用,具有快速开发、跨平台兼容、热加载、高性能等特点。 2. React NativeReact的区别是什么? React是用于构建Web应用的框架,而React Native是用于构建移动应用的框架。React Native可以使用React的开发方式来构建原生应用,而不需要使用WebView。 3. React Native中如何处理网络通信? 在React Native中,可以使用fetch函数进行网络通信。可以通过fetch发送HTTP请求,并通过Promise的方式处理返回结果。 4. React Native中如何进行导航管理? React Native提供了react-navigation库来进行导航管理。通过定义Stack Navigator、Tab Navigator等导航组件,可以方便地实现页面之间的跳转和导航。 5. React Native中如何处理数据状态管理? 在React Native中,可以使用Redux等状态管理库来统一管理应用的状态。Redux可以帮助我们管理应用的数据流,使得状态的变化可预测和可控。 6. 请介绍一下React Native的生命周期方法。 React Native中的生命周期方法与React的生命周期方法类似,包括componentDidMount、componentDidUpdate、componentWillUnmount等,用于在组件的不同生命周期阶段执行相应的操作。 7. React Native中如何进行布局和样式定义? React Native使用Flexbox布局来进行页面布局。可以使用StyleSheet来定义组件的样式,类似于CSS的样式定义方式。 8. 请介绍一下React Native中常用的第三方组件库。 在React Native中,有很多常用的第三方组件库可供选择,例如React Navigation、React Native Elements、React Native Vector Icons等。这些组件库可以帮助开发者更方便地构建移动应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值