reactjs / reactjs/react-docgen

useCallback + useImperativeHandle methods

オープン
#856 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

bug
主要言語
TypeScript
スター
3.8k
フォーク
316
平均マージ
5時間 7分
マージ済み PR(30日)
4

説明

Methods in the following component is not recognised. It works if I remove the useCallback.

import React, {
  forwardRef,
  memo,
  useCallback,
  useImperativeHandle,
  useMemo,
  useRef,
} from 'react';

export const MyComponent =
memo(forwardRef((_, ref) => {

  const _myMethod = useCallback((argument:string) : number => {});
  //const _myMethod = (argument:string) : number => {};
  
  useImperativeHandle(
    ref,
    () => ({
        /** myMethod description */
        _myMethod,
    }),
    [],
  );

  return <div />;
}));

return

[
  {
    "description": "",
    "displayName": "MyComponent",
    "methods": []
  }
]

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、useCallback と useImperativeHandle を使用した提供済みの React コンポーネントで問題を再現し、動作するインラインメソッドのバリアントと比較します。コンポーネントメソッドの抽出経路を追跡し、説明と戻り値の型を含む _myMethod のメソッドエントリを生成して修正を確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
react, typescript
領域
documentation, tooling
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
45/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。