在react-redux中使用connect()与componentDidMount()

背景描述在TodoList項目中,我原本使用react-redux的connect()将store的state和dispatch通过两个参数包装在无状态组件TodoListUI上,使其成为聪明的容器组件。但我想使用componentDidMount()发送一个AJAX请求来获取list列表的初始数据,但此时 无状态组件 没有生命周期函数,所以我将 无状态组件 包裹在一个 容器组件TodoList 中,再对TodoList使用connect()连接上store。

阅读全文

Redux进阶(2)Redux-thunk与Redux-saga中间件

使用Redux-thunk中间件实现ajax数据请求 我们之前把异步请求放在TodoList组件的生命周期函数中,当我们放在组件中的逻辑过于复杂的时候就可以使用Redux-thunk将异步请求或者其他比较复杂的逻辑移到action中进行统一管理。 在这里我们先使用中间件,关于“什么是中间件”放到下面进行解释。

阅读全文

react中使用mock.js模拟接口数据

原本从接口获取到数据的流程(完整例子在笔记“redux进阶(1)”中) 在组件中创建一个生命周期函数componentDidMount()。引用 axios 模块,在componentDidMount函数中借助 axios 模块发送ajax请求,使用axios.get("接口路径")来获取某个接口路径下的数据,请求成功后执行then()的回调函数(接收一个参数res表示接收到的数据),请求失败后执行catch()的回调函数 桌面创建list.json文件,并在其中放入一个数组 使用接口地址在**Charles中模拟接口数据,使得发送请求到接口路径时调用我们桌面的list.json文件【使用Charles抓取localhost包需要注意更换url:需要使用http://localhost.charlesproxy.com:3000/访问**】 then()的回调函数中打印出的res中的内容,可得到 res中的data是我们需要的数组,那么我们可以在ajax请求成功时通过then()获取data数据

阅读全文