我的代码如下
const styles = ({palette, appStyle}: TTheme) => ({
component: { backgroundColor: palette.primary},
text: appStyle.text,
const withStyle = (customStyle) =>
customStyle({
palette: { primary: 'red'},
appStyle: {text: {color: 'red'}},
})
如何定义此功能的类型const withStyle = (customStyle)
感谢您的帮助
答案 0 :(得分:1)
您可以在函数的类型签名中使用类型参数,如下所示:
function withStyle<T extends TTheme, U>(styles: (T) => U) {
...
}
这意味着函数withStyle
带有一个自变量,该参数本身就是一个函数,类型为T
,它是TTheme
的子类,并返回其他类型的{ {1}}。
从您的问题中并不清楚类型签名是什么,但关键是您需要使用generic type parameters。