* login({ userName: name, password: pwd }, { call, put }) {
yield put({ type: 'loading', showtext: '登录中...', inputEditable: false });
const data = yield call(loginService.login, name, pwd);
if (data) {
console.log(`登录用户信息:${loginUserData}`);
} else {
Toast.fail('登录失败', 1);
}
}
用的是dva的结构,命名空间是login,在页面调用直接就是
dispatch({ type: 'login/login', u, p });
有几个地方不明白,
首先方法的参数,{ userName: name, password: pwd }是什么意思?
第二{ call, put }这个参数从哪里来的?调用的时候没传过来呀?
当执行到yield的时候函数不是会暂停么?后边的语句会自动执行么?
对于ES6 这块不太了解,求大手给解答一下,或者推荐点资料!!
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
第一个问题是解构赋值的问题,而不是参数默认值。
当你传入
{userName:'you',password:'word'}时,函数内部的name='you',pwd='word'第二个问题,没研究过dva,不懂,但是找到了一个es6配合dva的教程。