我在一个react本机项目上使用JSDoc & TSDoc。
以下是文件:
import React, { createContext, useContext, FC } from 'react'
import useUserData, { UseUserDataType } from './useUserData'
import { AuthContext } from './FirebaseContextProvider'
import { AuthUser } from '../../common'
// Initial state
const initialUserDataContext = {
userData: {},
} as UseUserDataType
// Create the context objects
export const UserDataContext = createContext<UseUserDataType>(initialUserDataContext)
/**
* Context provider for user data from firebase
*
* @param props -
* @param props.children - application parts that are dependent on user data.
* @returns a context provider for user data
*/
const DataContextProvider: FC = ({ children }) => {
const { user } = useContext(AuthContext)
// UserData
const userData = useUserData(user as AuthUser)
return (
<UserDataContext.Provider value={userData}>
{children}
</UserDataContext.Provider>
)
}
export default DataContextProvider我有两个警告:
在第二个@param上:
tsdoc-param-tag-with-invalid-name: The @param block should be followed by a valid parameter name: The identifier cannot non-word characterseslinttsdoc/syntax关于JSDoc线的开始:
Missing JSDoc @param "props.children" type.eslintjsdoc/require-param-type我不太明白我该如何记录这些道具。有什么见解吗?
谢谢
编辑:
如果我将类型添加为@param {Type},TSDoc会抱怨,因为它是TypeScript:
tsdoc-param-tag-with-invalid-type: The @param block should not include a JSDoc-style '{type}'eslinttsdoc/syntax目前,我删除了规则,等待是否有一个更好的配置。
'jsdoc/require-returns-type': 'off',
'jsdoc/require-returns-type': 'off',发布于 2022-11-30 13:02:37
这可能有点旧,但对于那些遇到类似问题的人来说。
Sheraff的评论是对的,所以我想扩展一下。
让我们首先看一下错误/s:
Missing JSDoc @param "props.children" type. 因此,这意味着您缺少参数类型。
然后:
tsdoc-param-tag-with-invalid-name: The @param block should be followed by a valid parameter name: The identifier cannot non-word characterseslinttsdoc/syntax这意味着:
* @param props.children - application parts that are dependent on user data.应该是在param名称之后没有文本的:
* @param {Object} children最后,以下是:
tsdoc-param-tag-with-invalid-type: The @param block should not include a JSDoc-style '{type}'eslinttsdoc/syntax这意味着您添加了一个类型-- { type } --它不是已识别的类型。有效类型意味着字符串、Int、Object,这不是因为您使用TS。JSDoc需要他们的签名。
所以,为了解决这个问题,我相信下面的人会这么做:
/**
* Context provider for user data from firebase
*
* @param {Object} children
* @returns a context provider for user data
*/https://stackoverflow.com/questions/63768883
复制相似问题