Javascript 链式箭头函数语法
Javascript 链式箭头函数语法,javascript,reactjs,Javascript,Reactjs,fetch功能中的dispatch是什么url是第一个单参数fetch函数。但是这里的分派是什么?这相当于一个函数返回另一个函数。就是这个, const fetch = url => dispatch => { // ... } export const fetchQuestions = tag => (dispatch) => { return dispatch(fetch(tag)); }; 相当于 const fetch = url => disp
fetch
功能中的dispatch
是什么url
是第一个单参数fetch
函数。但是这里的分派是什么?这相当于一个函数返回另一个函数。就是这个,
const fetch = url => dispatch => {
// ...
}
export const fetchQuestions = tag => (dispatch) => {
return dispatch(fetch(tag));
};
相当于
const fetch = url => dispatch => {
// ...
}
export const fetchQuestions = tag => (dispatch) => {
return dispatch(fetch(tag));
};
同样地
const fetch = function(url) {
return function(dispatch) {
// ...
}
}
相当于
const fetch = url => dispatch => {
// ...
}
export const fetchQuestions = tag => (dispatch) => {
return dispatch(fetch(tag));
};
dispatch
是url=>…
函数返回的函数的第一个也是单个参数。如果使用正常的函数语法,则
export const fetchQuestions = function(tag) {
return function(dispatch) {
return dispatch(fetch(tag));
}
};
这是一种较短的编写函数的方法,
返回另一个函数
。参数url
和dispatch
是的参数,ES5相当于箭头函数语法
const fetch = function(url) {
return function(dispatch) {...}
}
或者使用箭头语法作为
function fetch(url) {
return function(dispatch) {
....
}
}
export function fetchQuestions(tag) {
return function(dispatch){
return dispatch(fetch(tag));
}
}
类似地,您也可以将fetchQuestion
编写为
const fetch = (url) => {
return (dispatch) => {
// ...
}
}
或者使用箭头语法作为
function fetch(url) {
return function(dispatch) {
....
}
}
export function fetchQuestions(tag) {
return function(dispatch){
return dispatch(fetch(tag));
}
}
fetch
是一个名为的函数表达式,它接受url
参数,并返回一个接受dispatch
参数的新函数
您可以使用传统函数语法重写:
export const fetchQuestions = (tag) => {
return (dispatch) => {
return dispatch(fetch(tag));
}
};
这叫咖喱。用谷歌搜索,你可以看到它的运行。有些es6=>es5转换器在线。试试这个例子:。在编辑器中粘贴代码并单击“Transform”将根据您的代表对此进行否决,但我意识到您没有参与JavaScript。为什么需要嵌套这样的函数?