javascript - ReactJS中的提升函数

标签 javascript reactjs lifting

const updateSearchTopStoriesState = (hits, page) => (prevState) => {
const { searchKey, results } = prevState

谁能给我解释一下上面的作用是什么?为什么有2个箭头函数?

这是完整的代码

const updateSearchTopStoriesState = (hits, page) => (prevState) => {
const { searchKey, results } = prevState;
const oldHits = results && results[searchKey]
? results[searchKey].hits
: [];
const updatedHits = [
...oldHits,
...hits
];
return {
results: {
...results,
[searchKey]: { hits: updatedHits, page }
},
isLoading: false
};
};
class App extends Component {
...

最佳答案

连续的两个箭头函数称为 thunk。

简单来说,这种格式更容易理解:

function updateSearchTopStoriesState = (hits, page) {
   function updateState (prevState) {
    ...code
   }
   return updateState;
}

关于javascript - ReactJS中的提升函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58897534/

相关文章:

javascript - 鼠标事件监听器,允许传播到文档

javascript - 使用 javascript 将图像属性附加到符合条件的某些图像

javascript - 如何使用 Javascript 在 d3 中使用 forEach

javascript - 在 map 功能中定位点击的卡片索引

Agda 中的平等 - 不相关的参数

javascript - DOM 节点创建与性能

javascript - 如何流动类型对象映射使得值必须包含键

javascript - 为什么我的 redux 存储将属性映射到具有单个属性和值的对象?

haskell - 提升的“if”函数表现异常