reactjsの小道具を介してパラメーター付きの関数を渡す

theJuls:

コンポーネント階層で、親から子の子に至るまでの関数があります。通常、これはそれほど問題にはなりませんが、子からパラメータを受け取る必要があります。私は現在このエラーメッセージを受け取っています:

Uncaught (in promise) TypeError: this.props.myFunction is not a function.

これが私がしていることのサンプルコードです:

class SomeComponent extends Component{

    constructor(props){
        super(props);
        //does whatever stuff        
        this.myFunction = this.myFunction.bind(this);

    }

    //(only applicable to raw and normal forms)
    myFunction(param){
        console.log('do something: ', param);
    }

    render(){
     return (<div><ChildComponent1 myFunction={()=>this.myFunction()}/></div>)
    }
}

class ChildComponent1{
      render(){
  return (<div><ChildComponent2 myFunction={()=>this.props.myFunction()}/></div>)
    }
}

class ChildComponent2{
      render(){
  return (<Button onClick={()=>this.props.myFunction(param)}>SomeButton</Button>)
    }
}

だから、それをまとめるために:私はから小道具としてのMyFunctionを渡していますSomeComponentまですべての方法をChildComponent2ここで私はそれがボタンがクリックされるたびに呼び出されてからパラメータを渡したいです、ChildComponent2

ありがとう!

フェリックスクリング:

あなたがそのエラーになるだろう、なぜ私は見ませんが、やるべきことmyFunction={this.myFunction}myFunction={this.props.myFunction}

class SomeComponent extends Component{

    constructor(props){
        super(props);
        //does whatever stuff        
        this.myFunction = this.myFunction.bind(this);

    }

    //(only applicable to raw and normal forms)
    myFunction(param){
        console.log('do something: ', param);
    }

    render(){
     return (<div><ChildComponent1 myFunction={this.myFunction}/></div>)
    }
}

class ChildComponent1{
      render(){
  return (<div><ChildComponent2 myFunction={this.props.myFunction}/></div>)
    }
}

class ChildComponent2{
      render(){
  return (<Button onClick={()=>this.props.myFunction(param)}>SomeButton</Button>)
    }
}

別の(矢印)関数内で関数呼び出しをラップすることは不要であり、パラメーターを適切に転送しません(すべての中間矢印関数はパラメーターを受け入れないため)。

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

パラメータ付きの関数を小道具として渡し、その関数を小道具として参照することは可能ですか?

分類Dev

Reactの小道具関数にパラメーターを渡す

分類Dev

関数を小道具として渡すときのReactJSエラー

分類Dev

ルートの小道具を介してデータを渡す

分類Dev

ReactJSの親状態から小道具を介して関数を渡す

分類Dev

パラメータ付きの関数をパラメータとして渡しますか?

分類Dev

Kotlinの関数を介して演算子パラメーターを渡す方法

分類Dev

TypeScriptを使用した関数パラメーターの小道具の破棄

分類Dev

パラメータ付きの関数をVoidCallbackに渡す

分類Dev

関数呼び出しでパラメーター付きの型を渡す

分類Dev

Python:関数を介してパラメーターを渡す

分類Dev

複数の関数を介して複数のパラメーターを渡す方法

分類Dev

パラメータ付きの関数を渡すことも関数

分類Dev

Javaのパラメーターとして関数を渡す

分類Dev

kotlinのパラメーターとして関数を渡す

分類Dev

Pythonの別の関数を介して名前付きパラメーターを使用して関数を呼び出す方法は?

分類Dev

関数のパラメーターを介して配列をどの程度正確に渡しますか?

分類Dev

小道具を介して関数のリストをコンポーネントに渡す

分類Dev

<Link>タグを介して小道具を別のページに渡す

分類Dev

関数を介してSQLに複数のパラメーターを渡すVBA

分類Dev

パラメータ付きの関数をパラメータとして渡し、ジェネリック型を返す

分類Dev

WPFDataTriggerを介してMultivalueConverterで複数のパラメーターを渡す方法

分類Dev

xargsを介して複数のパラメーターを渡す

分類Dev

AJAXを介して複数のパラメーターをPHPに渡す

分類Dev

PHP関数のフォームアクションを介してURLでパラメータを渡す

分類Dev

イベントを介して関数が呼び出されたときに関数に追加のパラメーターを渡す(つまり、:Connect()

分類Dev

go関数のパラメーターとして関数を渡す

分類Dev

関数returnをパラメーターとして別の関数に渡す

分類Dev

パラメータ付きの関数をtime.AfterFuncに渡す

Related 関連記事

  1. 1

    パラメータ付きの関数を小道具として渡し、その関数を小道具として参照することは可能ですか?

  2. 2

    Reactの小道具関数にパラメーターを渡す

  3. 3

    関数を小道具として渡すときのReactJSエラー

  4. 4

    ルートの小道具を介してデータを渡す

  5. 5

    ReactJSの親状態から小道具を介して関数を渡す

  6. 6

    パラメータ付きの関数をパラメータとして渡しますか?

  7. 7

    Kotlinの関数を介して演算子パラメーターを渡す方法

  8. 8

    TypeScriptを使用した関数パラメーターの小道具の破棄

  9. 9

    パラメータ付きの関数をVoidCallbackに渡す

  10. 10

    関数呼び出しでパラメーター付きの型を渡す

  11. 11

    Python:関数を介してパラメーターを渡す

  12. 12

    複数の関数を介して複数のパラメーターを渡す方法

  13. 13

    パラメータ付きの関数を渡すことも関数

  14. 14

    Javaのパラメーターとして関数を渡す

  15. 15

    kotlinのパラメーターとして関数を渡す

  16. 16

    Pythonの別の関数を介して名前付きパラメーターを使用して関数を呼び出す方法は?

  17. 17

    関数のパラメーターを介して配列をどの程度正確に渡しますか?

  18. 18

    小道具を介して関数のリストをコンポーネントに渡す

  19. 19

    <Link>タグを介して小道具を別のページに渡す

  20. 20

    関数を介してSQLに複数のパラメーターを渡すVBA

  21. 21

    パラメータ付きの関数をパラメータとして渡し、ジェネリック型を返す

  22. 22

    WPFDataTriggerを介してMultivalueConverterで複数のパラメーターを渡す方法

  23. 23

    xargsを介して複数のパラメーターを渡す

  24. 24

    AJAXを介して複数のパラメーターをPHPに渡す

  25. 25

    PHP関数のフォームアクションを介してURLでパラメータを渡す

  26. 26

    イベントを介して関数が呼び出されたときに関数に追加のパラメーターを渡す(つまり、:Connect()

  27. 27

    go関数のパラメーターとして関数を渡す

  28. 28

    関数returnをパラメーターとして別の関数に渡す

  29. 29

    パラメータ付きの関数をtime.AfterFuncに渡す

ホットタグ

アーカイブ