Reactの子コンポーネント間で通信する

Ogurchik

私はすでに同様の質問をしましたが、新しい問題が発生しました)。子コンポーネントをクリックしながら親コンポーネントの機能を実行したい。

var Fructs = ['banana', 'mango', 'potato'];

var Kaka = React.createClass({
  render() {
    return <div onClick={this.props.onClick}> Hell o forld </div>
  }
});

var Application = React.createClass({
  handle() {
    console.log("took took");
  },
  render() {
    console.log(this.props);
    var mass = Fructs.map(function(data, index) {
      return <Kaka key={index} onClick={handle.bind(this)}/>
    });
    return (
      <div>
        { mass }
      </div>
    );
  }
});

var App = React.createClass({
  render() {
    return (
      <div>
        <Application />
      </div>
    );
  }
});

React.render(<App/>, document.getElementById('app'));

CodePenの例子コンポーネントが1つであれば、すべてが完璧に機能します。しかし、子コンポーネントのリストを生成しようとすると、機能しません。「これ」が見つからないというエラーのログ書き込み。私は同様の問題をドキュメントReact見つけましたが、私はそれをwronпします(。私が間違っていることを教えてください?

OleksandrT。

これを.mapコールバック用に設定する必要があります。また、これhandleを取得するにはthis.handle、変更後に使用する必要があります。.map次のようになります。

var mass = Fructs.map(function(data, index){
  return <Kaka key={index} onClick={ this.handle.bind(this) } />
                                     ^^^^^^^^^^^ - get Component method 
}, this);
   ^^^^ - callback context

var Fructs = ['banana', 'mango', 'potato'];

var Kaka = React.createClass({
  render() { 
   return <div onClick={this.props.onClick}>
     Hell o forld     
   </div>
  }
})

var Application = React.createClass({
  handle() {
    console.log("took took");
  },
  
  render() {
    var mass = Fructs.map(function(data, index){
      return <Kaka key={index} onClick={ this.handle.bind(this) } />
    }, this);

    return <div>
      { mass }
    </div>
  }
})

var App = React.createClass({
  render() {
    return <div>
      <Application />
    </div>
  }
})

ReactDOM.render(<App  />, document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
<div id="app"></div>

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

異なるコンポーネント間のReact通信

分類Dev

React Nativeのコンポーネント間で通信しますか?

分類Dev

子側から子コンポーネントと親コンポーネント間の通信のベストプラクティスは何ですか?

分類Dev

React.js-兄弟コンポーネント間の通信

分類Dev

2つのコンポーネント間で通信します(子-親とは関係ありません)

分類Dev

ReactJSでの子の親コンポーネントの通信

分類Dev

子コンポーネントを親の兄弟コンポーネントに通信する方法は?

分類Dev

複数の子コンポーネントでReactコンポーネントをテストする方法は?

分類Dev

2つの子コンポーネント間でAngularで通信するにはどうすればよいですか?

分類Dev

2つの子コンポーネント間でAngularで通信するにはどうすればよいですか?

分類Dev

Elmの多形の子コンポーネントと通信する方法は?

分類Dev

react-redux:プロバイダーと代表的なコンポーネント間の通信を理解する

分類Dev

ngForの子コンポーネント間で値を渡す

分類Dev

Vue:親から特定の子コンポーネントと通信する方法

分類Dev

子コンポーネント間の通信-トリガーと変更

分類Dev

親コンポーネントと子コンポーネント間のReactRouter通信

分類Dev

ReactJSで独立したコンポーネント間の通信を実現することは可能ですか?

分類Dev

Reactで子コンポーネントを動的に追加する

分類Dev

サービスの観察可能な失敗を介してコンポーネント間で通信する

分類Dev

角度4の2つの兄弟コンポーネント間で通信する方法は?

分類Dev

Reactのコンポーネント間でデータを共有する

分類Dev

コンポーネント内の2つのコントローラー間の通信を構築する方法

分類Dev

Reactでコンポーネントの子を動的に変更する

分類Dev

複数の子コンポーネントでreact-joyrideを使用する

分類Dev

React-別々のコンポーネント間で小道具を比較する方法

分類Dev

Reactルーターを使用して子コンポーネントから親コンポーネントに通信する方法

分類Dev

Angular 2 でコンポーネントを通信する方法

分類Dev

Reactコンポーネント通信

分類Dev

TypeScriptの子でforwardRefコンポーネントを使用する

Related 関連記事

  1. 1

    異なるコンポーネント間のReact通信

  2. 2

    React Nativeのコンポーネント間で通信しますか?

  3. 3

    子側から子コンポーネントと親コンポーネント間の通信のベストプラクティスは何ですか?

  4. 4

    React.js-兄弟コンポーネント間の通信

  5. 5

    2つのコンポーネント間で通信します(子-親とは関係ありません)

  6. 6

    ReactJSでの子の親コンポーネントの通信

  7. 7

    子コンポーネントを親の兄弟コンポーネントに通信する方法は?

  8. 8

    複数の子コンポーネントでReactコンポーネントをテストする方法は?

  9. 9

    2つの子コンポーネント間でAngularで通信するにはどうすればよいですか?

  10. 10

    2つの子コンポーネント間でAngularで通信するにはどうすればよいですか?

  11. 11

    Elmの多形の子コンポーネントと通信する方法は?

  12. 12

    react-redux:プロバイダーと代表的なコンポーネント間の通信を理解する

  13. 13

    ngForの子コンポーネント間で値を渡す

  14. 14

    Vue:親から特定の子コンポーネントと通信する方法

  15. 15

    子コンポーネント間の通信-トリガーと変更

  16. 16

    親コンポーネントと子コンポーネント間のReactRouter通信

  17. 17

    ReactJSで独立したコンポーネント間の通信を実現することは可能ですか?

  18. 18

    Reactで子コンポーネントを動的に追加する

  19. 19

    サービスの観察可能な失敗を介してコンポーネント間で通信する

  20. 20

    角度4の2つの兄弟コンポーネント間で通信する方法は?

  21. 21

    Reactのコンポーネント間でデータを共有する

  22. 22

    コンポーネント内の2つのコントローラー間の通信を構築する方法

  23. 23

    Reactでコンポーネントの子を動的に変更する

  24. 24

    複数の子コンポーネントでreact-joyrideを使用する

  25. 25

    React-別々のコンポーネント間で小道具を比較する方法

  26. 26

    Reactルーターを使用して子コンポーネントから親コンポーネントに通信する方法

  27. 27

    Angular 2 でコンポーネントを通信する方法

  28. 28

    Reactコンポーネント通信

  29. 29

    TypeScriptの子でforwardRefコンポーネントを使用する

ホットタグ

アーカイブ