gpt4 book ai didi

javascript - 需要代码解释 Javascript 将函数分配给常量

转载 作者:行者123 更新时间:2023-11-28 11:30:22 24 4
gpt4 key购买 nike

嗨,我剪掉了以下基于 React-Redux 的代码,但不理解以下行:

const List = connect(mapStateToProps)(ConnectedList);

如果函数看起来像这样,我会理解它被分配给 List 常量:

const List = connect(mapStateToProps);

但是此语句中的 (ConnectedList) 有何作用?所发生的事情的技术名称是什么?

<小时/>

完整截图:

import React from "react";
import { connect } from "react-redux";
const mapStateToProps = state => {
return { articles: state.articles };
};
const ConnectedList = ({ articles }) => (
<ul className="list-group list-group-flush">
{articles.map(el => (
<li className="list-group-item" key={el.id}>
{el.title}
</li>
))}
</ul>
);
const List = connect(mapStateToProps)(ConnectedList);
export default List;

最佳答案

connect(...)返回一个函数(正如您已经意识到的那样),所以 connect(...)(ConnectedList)调用 connect() 返回的函数与 ConnectedList作为它的论点。

更长的版本是:

const tmp = connect(mapStateToProps);
const List = tmp(ConnectedList);
<小时/>

既然您询问了技术名称:通常返回另一个函数的函数称为高阶函数。

关于javascript - 需要代码解释 Javascript 将函数分配给常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51858600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com