通过该项目,请简要说明 typescript 比 javascript 的优势在哪?
-
静态输入
静态类型化是一种功能,可以在开发人员编写脚本时检测错误。查找并修复错误是当今开发团队的迫切需求。有了这项功能,就会允许开发人员编写更健壮的代码并对其进行维护,以便使得代码质量更好、更清晰。 -
大型的开发项目
有时为了改进开发项目,需要对代码库进行小的增量更改。这些小小的变化可能会产生严重的、意想不到的后果,因此有必要撤销这些变化。使用TypeScript工具来进行重构更变的容易、快捷。 -
更好的协作
当发开大型项目时,会有许多开发人员,此时乱码和错误的机也会增加。类型安全是一种在编码期间检测错误的功能,而不是在编译项目时检测错误。这为开发团队创建了一个更高效的编码和调试过程。 -
更强的生产力
干净的 ECMAScript 6 代码,自动完成和动态输入等因素有助于提高开发人员的工作效率。这些功能也有助于编译器创建优化的代码。
请简述一下支付流程
- 该模块的支付流程为,订单信息统一提交到后台,由后台创建对应的订单详情,由返回对应的支付跳转链接,支付后跳回对应的支付结果页面。也可以通过扫码支付等形式完成相应的业务闭环。
react-redux 的主要作用是什么,常用的 api 有哪些,什么作用?
- 在平时中,我们直接去使用Redux,需要每个页面都需要引入store,执行getState()来获取到值,以及需要每次都进行订阅和取消订阅。维护起来不方便。
- react-redux配合redux使用,将redux定义的store数据注入到组件中,可以使组件轻松的拿到全局状态,方便组件间的通信。使react组价与redux数据中心(store)联系起来,调用dispatch函数修改数据状态后,触发通过subscribe注册更新视图的处理逻辑,包括需要渲染的数据和更新数据的函数。
- 它主要用于在入口处包裹需要用到Redux的组件。本质上是将store放入context里。
常用API
- Provider组件:提供共享的store,HOC(高阶组件),Provider 返回一个HOC(高阶组件)的函数:conncet。
- connect方法:从store中获取数据和方法,注入组件,返回包含数据和方法的高阶组件。接受两个参数:mapStateToProps和mapDispatchToProps。
- useSelector方法:与connect获取数据的作用一样,即获取组件所需的store中的数据
- useDispatch方法:与connect获取数据更新方法的作用一样,即获取dispatch方法,用于发送action来更新store中的数据。
redux 中的异步如何处理?
- 可以通过引入redux-sage 等第三方依赖处理
redux-sage 通过 takeEvery 将 Action 与 响应的处理的 generator 方法进行绑定,
再通过 put 实现 takeEvery 中绑定的方法对其他 Action 的调用,
最后通过 all 将所有的 saga 合并暴露 rootSaga,
在 createStore 后,通过 sagaMiddleware.run(rootSage) 完成对应的异步处理