const fetch = url => dispatch => {
// ...
}
export const fetchQuestions = tag => (dispatch) => {
return dispatch(fetch(tag));
};dispatch在fetch函数中是什么?url是第一个参数的fetch函数。但是这里的dispatch是什么?
发布于 2017-07-17 14:46:49
这相当于一个函数返回另一个函数。即这
const fetch = url => dispatch => {
// ...
}等于
const fetch = function(url) {
return function(dispatch) {
// ...
}
}同样,这
export const fetchQuestions = tag => (dispatch) => {
return dispatch(fetch(tag));
};等于
export const fetchQuestions = function(tag) {
return function(dispatch) {
return dispatch(fetch(tag));
}
};发布于 2017-07-17 14:47:04
dispatch是url => ...函数返回的函数的第一个参数和单个参数。对于正常的函数语法,它将是
const fetch = function(url) {
return function(dispatch) {...}
}发布于 2017-07-17 14:49:53
它是编写函数的一种较短的方法,即returns another function。参数url和dispatch是当前函数的参数,ES5等价于箭头函数语法
function fetch(url) {
return function(dispatch) {
....
}
}或使用Arrow语法作为
const fetch = (url) => {
return (dispatch) => {
// ...
}
}类似地,您可以将fetchQuestion编写为
export function fetchQuestions(tag) {
return function(dispatch){
return dispatch(fetch(tag));
}
}或使用Arrow语法作为
export const fetchQuestions = (tag) => {
return (dispatch) => {
return dispatch(fetch(tag));
}
};https://stackoverflow.com/questions/45147227
复制相似问题