gpt4 book ai didi

typescript - Action 创建者文档评论未显示

转载 作者:行者123 更新时间:2023-12-04 14:59:11 26 4
gpt4 key购买 nike

考虑在我们的应用程序中采用 redux-toolkit,但我似乎无法获得我们为 Action 创建者显示的文档评论。

旧代码:

const ADD_NAME = 'ADD_NAME';
/**
* Sets the name for the user in our state.
* @param name The updated name
*/
export function addName(name: string) {
return {
payload: name,
type: ADD_NAME,
};
}

在 VSCode 中,每当我发送 addName() 时,将鼠标悬停在该函数上会按预期给我提供带有文档的工具提示。

使用 redux-toolkit 重新创建这个 action creator:

/**
* Sets the name for the user in our state.
* @param name The updated name of the User
*/
export const addName = createAction<string>(ADD_NAME);

当我在调度期间将鼠标悬停在这个新的 addName 上时,而不是看到我写的文档:

为我们所在州的用户设置名称。

我看到了这个:

使用参数调用此 {@link redux#ActionCreator} 将返回类型为 T 的 {@link PayloadAction},负载为 P

这是来自 redux-toolkit typings 文件的 ActionCreatorWithPayload 的内部文档。

显示的是我为 addName 操作创建者添加的文档注释而不是 redux-toolkit 文档注释,我错过了什么?

我意识到一个是我评论一个函数,另一个是评论一个 const var,但我希望我对 addName const 的评论显示为工具提示,不是吗?

最佳答案

这是一个很好的问题。这似乎取决于编辑器 - 以及访问文档的上下文。

在 VSCode 中,一开始看起来是这样的:Screenshot from VSCode

当你只写addName时,直到它完成,你从变量addName中获取docblock。一旦你编写了一个 (,它就会“查看”变量值,识别函数并从函数本身获取文档 block ——这就是一个 Action 创建器。

我不认为你真的可以进一步覆盖这种行为,但我很乐意看到有人想出一个好方法。


我做了一些更多的实验:虽然 TypeScript 确实丢失了映射函数类型的大部分注释,但您可以使用一个对象参数而不是位置参数,并使用文档 block 注释各个属性。考虑到 TypeScript 目前提供的内容,这可能会为您提供尽可能多的信息(当然,“参数名称”的自动完成):


const slice = createSlice({
name: 'test',
initialState: 0,
reducers: {
test: {
prepare({name, age}: {
/** The name! */
name: string,
/** The age! */
age: number
}
) {
return { payload: { name, age } };
},
reducer(x, action: any) { }
}
}
})

// hovering over age or name will give you more info
slice.actions.test({ age: 5, name: "" })

关于typescript - Action 创建者文档评论未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67286684/

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