动作创建者文档评论未显示
Action creators doc comments not showing
考虑在我们的应用程序中采用 redux-toolkit,但我似乎无法获得我们为动作创建者显示的文档评论。
旧代码:
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 重新创建此动作创建器:
/**
* 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
上时,我没有看到我写的文档:
Sets the name for the user in our state.
我看到了这个:
Calling this {@link redux#ActionCreator} with an argument will return a {@link PayloadAction} of type T with a payload of P
这是来自 redux-toolkit typings 文件的 ActionCreatorWithPayload
的内部文档。
显示的是我为我的 addName
操作创建者添加的文档注释而不是 redux-toolkit 文档注释,我错过了什么?
我意识到一个是我评论一个函数,另一个是评论一个 const var,但我希望我对 addName
const 的评论显示为工具提示,不是吗?
这是个很好的问题。这似乎取决于编辑器 - 以及访问文档的上下文。
在VSCode中,一开始是这样的:
刚写的时候addName
,直到写完,从变量addName
中获取docblock。一旦你写了一个 (
,它就会“查看”变量值,识别函数并从函数本身获取文档块——这就是一个动作创建者。
我不认为您真的可以进一步覆盖该行为,但我很乐意看到有人想出一个好方法。
我做了一些更多的实验:虽然 TypeScript 确实丢失了映射函数类型的大部分注释,但您可以使用一个对象参数而不是位置参数,并使用文档块注释各个属性。考虑到 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: "" })
考虑在我们的应用程序中采用 redux-toolkit,但我似乎无法获得我们为动作创建者显示的文档评论。
旧代码:
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 重新创建此动作创建器:
/**
* 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
上时,我没有看到我写的文档:
Sets the name for the user in our state.
我看到了这个:
Calling this {@link redux#ActionCreator} with an argument will return a {@link PayloadAction} of type T with a payload of P
这是来自 redux-toolkit typings 文件的 ActionCreatorWithPayload
的内部文档。
显示的是我为我的 addName
操作创建者添加的文档注释而不是 redux-toolkit 文档注释,我错过了什么?
我意识到一个是我评论一个函数,另一个是评论一个 const var,但我希望我对 addName
const 的评论显示为工具提示,不是吗?
这是个很好的问题。这似乎取决于编辑器 - 以及访问文档的上下文。
在VSCode中,一开始是这样的:
刚写的时候addName
,直到写完,从变量addName
中获取docblock。一旦你写了一个 (
,它就会“查看”变量值,识别函数并从函数本身获取文档块——这就是一个动作创建者。
我不认为您真的可以进一步覆盖该行为,但我很乐意看到有人想出一个好方法。
我做了一些更多的实验:虽然 TypeScript 确实丢失了映射函数类型的大部分注释,但您可以使用一个对象参数而不是位置参数,并使用文档块注释各个属性。考虑到 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: "" })