react中可以在钩子就能处理ajax异步请求,为什么还要在redux里面用中间件去处理呢?2者有什么区别么?
人生最曼妙的风景,竟是内心的淡定与从容!
对于小型的WebApp,状态比较少,你可以只用ReactJS来实现,在事件回调里发起AJAX请求,请求成功后更新ReactJS 组件的state,从而更新视图。
但是在较大规模的WebApp中,模块多,状态多,这时就需要引入Redux来管理整个WebApp的状态,ReactJS只用作View层以及根据用户触发的事件来dispatch相应的Action,不会有业务相关的逻辑。
这时Ajax请求就会放到Action里处理,但是Redux默认只能分发Plain Object作为Action,加上redux-thunk中间件后,就可以分发函数作为一个Action,函数里就可以做你想干的事情,当然也可以发起Ajax请求来支持异步事件了。
对于小型的WebApp,状态比较少,你可以只用ReactJS来实现,在事件回调里发起AJAX请求,请求成功后更新ReactJS 组件的state,从而更新视图。
但是在较大规模的WebApp中,模块多,状态多,这时就需要引入Redux来管理整个WebApp的状态,ReactJS只用作View层以及根据用户触发的事件来dispatch相应的Action,不会有业务相关的逻辑。
这时Ajax请求就会放到Action里处理,但是Redux默认只能分发Plain Object作为Action,加上redux-thunk中间件后,就可以分发函数作为一个Action,函数里就可以做你想干的事情,当然也可以发起Ajax请求来支持异步事件了。