javascript - 在 Typescript 中将函数参数定义为对象

标签 javascript reactjs typescript

与其调用单独传递参数的函数,我更喜欢将它们作为对象传递,这样顺序就不重要了。

例如

const sum = ({ arg1, arg2, arg3 }) => arg1 + arg2 + arg3;

现在我正在将我的一些代码迁移到 Typescript,但我不确定我应该如何为这样的函数定义接口(interface)。

我试过类似的东西,但它不起作用:

enter image description here

有什么线索吗?

最佳答案

怎么样:

interface InputObj {
    arg1: number;
    arg2: number;
    arg3: number;
}

interface ExampleProps {
    sum: (input: InputObj) => number
}

或内联:

interface ExampleProps {
  sum: (
    input: {
      arg1: number;
      arg2: number;
      arg3: number;
    }
  ) => number;
}

但根据您的用例,您可能不需要定义 ExampleProps。这是没有任意 input 对象名称的 sum 函数:

const sum = ({
  arg1,
  arg2,
  arg3
}: {
  arg1: number;
  arg2: number;
  arg3: number;
}) => arg1 + arg2 + arg3;

关于javascript - 在 Typescript 中将函数参数定义为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54897856/

相关文章:

reactjs - react : state contains empty object after setState on object with values

css - 更改按钮的不透明度会导致它呈现在父元素上

javascript - 无法在 WordPress UI 中解析 json 字符串

php - 使用 Javascript 显示不断变化的 php 值?

javascript - 将文本与数组项连接时覆盖文本

reactjs - 为什么选择 React.Children.only?

javascript - 将选项值绑定(bind)到 AngularJS 中的 ng-model

angular - 如何为 dotnet 核心(web Api)代码更改以及 TypeScript 代码更改启用实时重新加载

angular - 将表单字段动态添加到 Angular 8 中的 react 表单

typescript - Angular2 http 缺少 .map 函数