结合已有项目,对react框架中引入的saga异步请求进行了梳理,发现saga机制之完美,不言语表。
总结如下:
1:saga的Generator同步写法,实现的是异步请求,给开发者福利。
2:saga的数据流向清晰。
当dispatch一个action时,首先进入的是reducers方法,由于type为xx的action,saga已经注册监听,则会调用effects中的xx方法,待异步请求完毕之后,调用put发起了一个新的xx action,所以还是会进入reducers中进行处理,之后刷新state状态。
3:刷新的state状态,由于在jsx文件中有如下两个方法。
mapStateToProps,实现了state传入props,最后实现父与子组件的数据传递。
mapDispatchToProps,实现了dispatch 方法到props的传递,最后实现父与子组件的方法传递。
4:当用户点击某个按钮等操作时,如果需要请求后台接口,就会利用redux-saga发生上面的数据流向,最后更新数据,刷新页面。