1

所以,我们有一些功能:

const someVal = func(customObject => {console.log(customObject.data.users)});

我们可以用对象破坏语法重写这个函数,使它对用户价值更漂亮和简洁:

const someVal = func(({ data: { users } = {}) => {console.log(users)});

现在想象一下,用户价值必须由一些打字稿界面来描述。

应该如何内联?

像这样?

 const someVal = func(({ data: { users } = {} : { data: { users : UserInterface }) => {console.log(users)});

UPD。数据是通用值变量

4

1 回答 1

0

你可以内联,但它会变得非常混乱。我通常更喜欢定义类型以获得更好的可读性:

type SomeValInput = {
  data: {
    users?: UserInterface;
  };
};
type SomeVal = (data: SomeValInput) => void;
const someVal: SomeVal = ({ data: { users } }) => console.log(users || {});

我没有在解构中包含默认值,因为过去我在将其与打字稿结合使用时遇到了麻烦。

于 2020-04-16T19:18:36.037 回答