什么是定义es6函数类型的正确方法
What is the right way to define es6 function type
在使用 TypeScript 代码库学习 React 16.8 时,我经历了许多不同的类型定义 遵循的模式。
所以为了保持一致性,
这是设置 es6 箭头方法类型定义的正确方法(推荐或有效),尤其是当对象解构出现时
所以我的第一个问题是定义(或设置它所谓的)函数 类型 的正确方法是什么
- 写在函数名之后,
=
之前
const method: MethodType = (state:AlphaState , action: AlphaAction) => {
return data;
}
- 在参数列表之后,就在
=>
之前
const method = (state:AlphaState , action: AlphaAction): MethodType => ({
})
现在我问题的第二部分是,如果我们在参数中使用对象解构,那么它会变得更加复杂。
在哪里写参数类型,是否会与参数类型和函数类型签名冲突?
这里是对象
- 在每个
,
之前写入参数对象的每个 属性
const appMethod: MethodType = ({state:AppState , action: AppAction}) => ({
}
- 在参数列表之后,一个单独的类型列表,在解构完成后具有相同的类型顺序,即在第一次关闭之后
}
const appMethod: MethodType = ({state , action}:{AppState, AppAction}) => {}
也欢迎使用任何其他或推荐的样式来处理此问题。
保持空头:
MethodType
是 method
变量的一种类型。实际上,一个函数类型。
MethodType
是箭头函数的return值的一种类型。所以和1比不了,是不一样的
它是对象解构,与打字稿无关:您将字段解构为 AppState
和 AppAction
局部变量。
语法无效
3&4 会写成
const appMethod: MethodType = ({ state, action }: { state: AppState, action: AppAction }) => ({});
在使用 TypeScript 代码库学习 React 16.8 时,我经历了许多不同的类型定义 遵循的模式。
所以为了保持一致性,
这是设置 es6 箭头方法类型定义的正确方法(推荐或有效),尤其是当对象解构出现时
所以我的第一个问题是定义(或设置它所谓的)函数 类型 的正确方法是什么
- 写在函数名之后,
=
之前
const method: MethodType = (state:AlphaState , action: AlphaAction) => {
return data;
}
- 在参数列表之后,就在
=>
之前
const method = (state:AlphaState , action: AlphaAction): MethodType => ({
})
现在我问题的第二部分是,如果我们在参数中使用对象解构,那么它会变得更加复杂。
在哪里写参数类型,是否会与参数类型和函数类型签名冲突?
这里是对象
- 在每个
,
之前写入参数对象的每个 属性
const appMethod: MethodType = ({state:AppState , action: AppAction}) => ({
}
- 在参数列表之后,一个单独的类型列表,在解构完成后具有相同的类型顺序,即在第一次关闭之后
}
const appMethod: MethodType = ({state , action}:{AppState, AppAction}) => {}
也欢迎使用任何其他或推荐的样式来处理此问题。
保持空头:
MethodType
是method
变量的一种类型。实际上,一个函数类型。MethodType
是箭头函数的return值的一种类型。所以和1比不了,是不一样的它是对象解构,与打字稿无关:您将字段解构为
AppState
和AppAction
局部变量。语法无效
3&4 会写成
const appMethod: MethodType = ({ state, action }: { state: AppState, action: AppAction }) => ({});