react <16でラップされた要素の「ref」を取得するにはどうすればよいですか?

パヴェルーシャ

私のフォームフィールドは、reactコンポーネントによって個別にラップされています。このreactコンポーネントは、サードパーティのモジュールから提供されます。私の課題は、「ref」を設定し、そのコンポーネントの外部でその「ref」を取得して.focus、それを呼び出すことができるようにすることです。

注:サードパーティモジュールのコードを変更するためのアクセス権がありません。

コードにアクセスできず、重要なことにReact 16+を使用していないため、.createRefと.forwardRefを使用できません。

<WrapperComponent/> このコンポーネントには、外部からフォーカスを設定する必要がある入力フィールドがあります。

構造は以下のようになります。

    MyComponent: // Where I want to access the ref

    render() {
        return (
            <div>
                <WrapperComponent id={id} />
            </div>
        );
    }

ラッパーコンポーネント(これは、内部に入力フィールドがあるサードパーティコンポーネントです。構造は次のようになります):

    render() {
        return (<input type="text" id={id} />);
    }

フラスコになります

クリーンな方法は、サードパーティコンポーネントをフォークして、参照を公開することです。

回避策の1つは、サードパーティコンポーネントを拡張することです。

class FirstParty extends ThirdParty {
  inputRef = React.createRef();

  render() {
    const inputReactEl = super.render();
    return React.cloneElement(inputReactEl, { ref: this.inputRef });
  }
}

別の回避策はそれをラップすることです:

class FirstParty extends Component {
  componentDidMount() {
    this.inputDomEl = ReactDOM.findDOMNode(this);
  }

  render() {
    return <ThirdParty {...this.props}/>;
  }
}

React 15が使用されている場合、createRef参照をレガシー参照に変更できます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Reactでクリックされた要素を取得するにはどうすればよいですか?

分類Dev

React refを使用して要素の幅を取得するにはどうすればよいですか?

分類Dev

React refから抽出された特定のHtmlノードに動的要素を追加するにはどうすればよいですか?

分類Dev

Reactのみを使用してチェックされたラジオボタンの値を取得するにはどうすればよいですか?

分類Dev

Reactで特定のマップされた要素にアクセスするにはどうすればよいですか?

分類Dev

divの参照要素をreactで取得するにはどうすればよいですか?

分類Dev

reactを使用して、constに保持されている選択ドロップダウンの値を取得するにはどうすればよいですか?

分類Dev

react-bootstrap-typeaheadのドロップダウンから現在選択されている値を取得するにはどうすればよいですか?

分類Dev

Reactでリスト要素のcssクラスを定義するにはどうすればよいですか?

分類Dev

React NativeでURIから画像の高さと幅を取得するにはどうすればよいですか?

分類Dev

react / reduxに保存するための参照を取得するにはどうすればよいですか?

分類Dev

react-konvaでドラッグされたキャンバスの位置をリセットするにはどうすればよいですか?

分類Dev

排出されたReactアプリをTypeScriptに移行するにはどうすればよいですか?

分類Dev

Reactで動的要素を作成するにはどうすればよいですか?

分類Dev

React.jsでチェックされているチェックボックスの数を取得するにはどうすればよいですか?

分類Dev

Reactで入力ラジオボタンの値を取得するにはどうすればよいですか?

分類Dev

それがreactにマウントされた後の要素の状態を設定するにはどうすればよいですか?

分類Dev

Reactアプリの外部にある入力値を取得するにはどうすればよいですか?

分類Dev

React:動的な高さの子からの要素の参照高さを取得するにはどうすればよいですか?

分類Dev

Reactでテキストボックスの値を取得するにはどうすればよいですか?

分類Dev

フィールドがタッチされた場合にのみエラーを表示するにはどうすればよいですか?| React && Formik

分類Dev

ネストされた配列をReactのリストにマップするにはどうすればよいですか?

分類Dev

複合コンポーネント:reactでクリックされた子要素を参照するにはどうすればよいですか?

分類Dev

Reactで、別の要素をクリックして、反復で作成された1つの要素のクラス名を変更するにはどうすればよいですか?

分類Dev

react-nativeのPickeronValueChangeからラベルを取得するにはどうすればよいですか?

分類Dev

react-nativeのネストされたマップ関数内のifelse条件を使用するにはどうすればよいですか?

分類Dev

ReactのDateTimeピッカーから値を取得するにはどうすればよいですか?

分類Dev

React Nativeのアプリのマップで従来の青いマップマーカーを取得するにはどうすればよいですか?

分類Dev

Reactフックから選択したオプションの値を取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    Reactでクリックされた要素を取得するにはどうすればよいですか?

  2. 2

    React refを使用して要素の幅を取得するにはどうすればよいですか?

  3. 3

    React refから抽出された特定のHtmlノードに動的要素を追加するにはどうすればよいですか?

  4. 4

    Reactのみを使用してチェックされたラジオボタンの値を取得するにはどうすればよいですか?

  5. 5

    Reactで特定のマップされた要素にアクセスするにはどうすればよいですか?

  6. 6

    divの参照要素をreactで取得するにはどうすればよいですか?

  7. 7

    reactを使用して、constに保持されている選択ドロップダウンの値を取得するにはどうすればよいですか?

  8. 8

    react-bootstrap-typeaheadのドロップダウンから現在選択されている値を取得するにはどうすればよいですか?

  9. 9

    Reactでリスト要素のcssクラスを定義するにはどうすればよいですか?

  10. 10

    React NativeでURIから画像の高さと幅を取得するにはどうすればよいですか?

  11. 11

    react / reduxに保存するための参照を取得するにはどうすればよいですか?

  12. 12

    react-konvaでドラッグされたキャンバスの位置をリセットするにはどうすればよいですか?

  13. 13

    排出されたReactアプリをTypeScriptに移行するにはどうすればよいですか?

  14. 14

    Reactで動的要素を作成するにはどうすればよいですか?

  15. 15

    React.jsでチェックされているチェックボックスの数を取得するにはどうすればよいですか?

  16. 16

    Reactで入力ラジオボタンの値を取得するにはどうすればよいですか?

  17. 17

    それがreactにマウントされた後の要素の状態を設定するにはどうすればよいですか?

  18. 18

    Reactアプリの外部にある入力値を取得するにはどうすればよいですか?

  19. 19

    React:動的な高さの子からの要素の参照高さを取得するにはどうすればよいですか?

  20. 20

    Reactでテキストボックスの値を取得するにはどうすればよいですか?

  21. 21

    フィールドがタッチされた場合にのみエラーを表示するにはどうすればよいですか?| React && Formik

  22. 22

    ネストされた配列をReactのリストにマップするにはどうすればよいですか?

  23. 23

    複合コンポーネント:reactでクリックされた子要素を参照するにはどうすればよいですか?

  24. 24

    Reactで、別の要素をクリックして、反復で作成された1つの要素のクラス名を変更するにはどうすればよいですか?

  25. 25

    react-nativeのPickeronValueChangeからラベルを取得するにはどうすればよいですか?

  26. 26

    react-nativeのネストされたマップ関数内のifelse条件を使用するにはどうすればよいですか?

  27. 27

    ReactのDateTimeピッカーから値を取得するにはどうすればよいですか?

  28. 28

    React Nativeのアプリのマップで従来の青いマップマーカーを取得するにはどうすればよいですか?

  29. 29

    Reactフックから選択したオプションの値を取得するにはどうすればよいですか?

ホットタグ

アーカイブ