簡體   English   中英

缺少 JSDoc @param "props.children" 類型。 和缺少 JSDoc @param "props.children" 類型。 使用 React Native FunctionalComponents

[英]Missing JSDoc @param "props.children" type. and Missing JSDoc @param "props.children" type. with React Native FunctionalComponents

我在本機反應項目上使用 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',

這可能有點舊,但對於遇到類似問題的人來說。

Sheraff 在評論中是正確的,所以我想擴展一下。

讓我們先看看錯誤:

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 {Object} children

最后是這個:

tsdoc-param-tag-with-invalid-type: The @param block should not include a JSDoc-style '{type}'eslinttsdoc/syntax

這意味着您添加了一個類型 - {type} - 這是一個不可識別的類型。 有效類型表示 String、Int、Object,這不是因為您使用的是 TS。 JSDoc 需要他們簽名。

所以要修復我相信下面會做到這一點:

/**
 * Context provider for user data from firebase
 *
 * @param {Object} children
 * @returns a context provider for user data
 */

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM