4 回答
TA贡献2065条经验 获得超13个赞
可能是你的action没有connect到组件上,没有把这个方法传过来。
参考我写的一个方案
<pre t="code" l="js">
@connect(
state =; state,
dispatch =; bindActionCreators(action, dispatch)
)
2.根据redux文档的方案
<pre t="code" l="js">
// 哪些 action 创建函数是我们想要通过 props 获取的看
function mapDispatchToProps(dispatch) {
return {
onIncrement: () =; dispatch(increment())
};
}
export default connect(
mapDispatchToProps
)(Counter);
TA贡献1799条经验 获得超6个赞
thunk的意思是中间函数,在redux中,有个东西叫做action,如果配置了redux-thunk,那么在action中写代码的时候,就可以写成下面这种形式:
function saveData(data) {
return {
type: 'SVAE_DATA',
date: data
}
}
exports function getData(){
return async (dispatch) => {
const data = await get(`/api`)
if (result) {
await dispatch(saveData(data))
}
}
}
在这个例子中,saveData就是一个thunk,getData的作用是接收服务端返回的数据,然后通过thunk函数去调用对应的reducers保存到store上。dispatch就是负责调用thunk函数
- 4 回答
- 0 关注
- 692 浏览
添加回答
举报