Flowは宣言されていないReact小道具を認識できますか?

ランパトール

Flowは、必要な小道具をReact Componentsに渡すことを確認しますが、追加の小道具を送信するときにエラーをキャッチしないようですこれにより、小道具の間違ったバージョンを入力するときに時々発生する微妙なエラーが発生する可能性があります。以下の例isloggedinでは、実際の小道具isLoggedInはなく小道具を渡しますが、デフォルトがであるため、エラーはスローされませんisLoggedInコンポーネントで宣言されていない小道具を渡した場合をFlowに認識させる方法はありますか?

コンポーネントコード:

// @flow

import React, { Component } from "react";

type Props = {
    isLoggedIn: boolean
};

class Donkey extends Component<Props> {
  static defaultProps = {
    isLoggedIn: false,
  }

  render() {
    return (
      <div> {this.props.isLoggedIn.toString()} </div>
    )
  }
}

export default Donkey;

発信コード:

// @flow

import React, { Component } from "react";
import Donkey from "./Donkey";

type Props = {

}

class Main extends Component<Props> {
  render() {
    return (
      <Donkey isloggedin={true} />
    )
  }
}

export default Main;

フロー出力:

> flow
No errors!
スルタン

を使用して、正確な型マッチングを実施できます{| ... |}https://flow.org/en/docs/types/objects/#toc-exact-object-typesを参照)。

その後、フローは欠落または追加のプロパティを報告します。

なぜそれをどこにも使わないのですか?多くの場合、追加のプロパティがあるかどうかは気にしないためです。これは、JSON APIからのオブジェクト、またはコンポーネントがその子にいくつかのプロパティを渡しているだけの場合に発生する可能性があります(例className)。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

決して使用されないコンストラクターでReact小道具を宣言する適切な方法

分類Dev

react-routerのリンクを介して小道具が受信されないのはなぜですか

分類Dev

Vue JSの小道具は、親で宣言されていても未定義を提供します

分類Dev

子コンポーネントの小道具が変更されていない場合でも、Reactはそれを再レンダリングしますか?

分類Dev

コンポーネントをロードするときに小道具が定義されていないかどうかを確認します

分類Dev

React-select multi select値が選択されていないときに、小道具を更新します

分類Dev

宣言されていない小道具がコンポーネントのルート要素に渡されないのはなぜですか?

分類Dev

小道具はReactでは定義されていません

分類Dev

小道具が変更されていない場合、Reactメモはレンダリングを続けます

分類Dev

Reactでレンダリングされていない関数に小道具を渡す方法は?

分類Dev

Flowを使用するときに正確な小道具を使用するReactコンポーネントに小道具を広げるにはどうすればよいですか?

分類Dev

データプロパティはすでに小道具として宣言されています

分類Dev

特殊なコンポーネントで「小道具の拡散は禁止されています」を修正するにはどうすればよいですか?

分類Dev

なぜこの警告が表示されるのですか? `重複する小道具は許可されていませんreact / jsx-no-duplicate-props`

分類Dev

小道具の一部としてカスタムreactコンポーネントに渡されたときに、 `index`が一意のキーとして認定されないのはなぜですか?

分類Dev

React:クラス間で小道具を渡すことは常に定義されていません

分類Dev

FlowのHOCにネストされているコンポーネントの小道具を入力するにはどうすればよいですか?

分類Dev

小道具で関数を渡すことは定義されていません

分類Dev

<Route />を通過するときの反応で小道具は定義されていません

分類Dev

なぜ宣言されていない識別子を使用するのですか?

分類Dev

コンストラクターで小道具を変更することは「許可されていますか」?

分類Dev

xcodeがapp-bridge-headerを認識せず、ファイルGIDSignInDelegateが宣言されていないことを通知するのはなぜですか?

分類Dev

Option Explicitは、宣言されていない変数を1つは認識しませんが、他の変数では機能します

分類Dev

なぜlsはこの宣言された単一行変数を認識しないのですか?

分類Dev

Reactでどの小道具が変更されたかを確認するにはどうすればよいですか?

分類Dev

小道具を使用してデータをバインドおよび渡す双方向の修正方法はありますか?それらは認識されていません

分類Dev

VisualState.StateTriggersが認識されない、またはアクセスできないのはなぜですか?

分類Dev

小道具が変更されていないのにReactコンポーネントが再レンダリングされるのはなぜですか?

分類Dev

Objectivecで宣言されていない識別子を取得する

Related 関連記事

  1. 1

    決して使用されないコンストラクターでReact小道具を宣言する適切な方法

  2. 2

    react-routerのリンクを介して小道具が受信されないのはなぜですか

  3. 3

    Vue JSの小道具は、親で宣言されていても未定義を提供します

  4. 4

    子コンポーネントの小道具が変更されていない場合でも、Reactはそれを再レンダリングしますか?

  5. 5

    コンポーネントをロードするときに小道具が定義されていないかどうかを確認します

  6. 6

    React-select multi select値が選択されていないときに、小道具を更新します

  7. 7

    宣言されていない小道具がコンポーネントのルート要素に渡されないのはなぜですか?

  8. 8

    小道具はReactでは定義されていません

  9. 9

    小道具が変更されていない場合、Reactメモはレンダリングを続けます

  10. 10

    Reactでレンダリングされていない関数に小道具を渡す方法は?

  11. 11

    Flowを使用するときに正確な小道具を使用するReactコンポーネントに小道具を広げるにはどうすればよいですか?

  12. 12

    データプロパティはすでに小道具として宣言されています

  13. 13

    特殊なコンポーネントで「小道具の拡散は禁止されています」を修正するにはどうすればよいですか?

  14. 14

    なぜこの警告が表示されるのですか? `重複する小道具は許可されていませんreact / jsx-no-duplicate-props`

  15. 15

    小道具の一部としてカスタムreactコンポーネントに渡されたときに、 `index`が一意のキーとして認定されないのはなぜですか?

  16. 16

    React:クラス間で小道具を渡すことは常に定義されていません

  17. 17

    FlowのHOCにネストされているコンポーネントの小道具を入力するにはどうすればよいですか?

  18. 18

    小道具で関数を渡すことは定義されていません

  19. 19

    <Route />を通過するときの反応で小道具は定義されていません

  20. 20

    なぜ宣言されていない識別子を使用するのですか?

  21. 21

    コンストラクターで小道具を変更することは「許可されていますか」?

  22. 22

    xcodeがapp-bridge-headerを認識せず、ファイルGIDSignInDelegateが宣言されていないことを通知するのはなぜですか?

  23. 23

    Option Explicitは、宣言されていない変数を1つは認識しませんが、他の変数では機能します

  24. 24

    なぜlsはこの宣言された単一行変数を認識しないのですか?

  25. 25

    Reactでどの小道具が変更されたかを確認するにはどうすればよいですか?

  26. 26

    小道具を使用してデータをバインドおよび渡す双方向の修正方法はありますか?それらは認識されていません

  27. 27

    VisualState.StateTriggersが認識されない、またはアクセスできないのはなぜですか?

  28. 28

    小道具が変更されていないのにReactコンポーネントが再レンダリングされるのはなぜですか?

  29. 29

    Objectivecで宣言されていない識別子を取得する

ホットタグ

アーカイブ