2017-01-15 14 views
0

私は別のコンポーネントの関数を呼び出すボタンを実行しようとしています。他のコンポーネントの関数を呼び出すボタンを実行する方法

import ComponentB from './components/ComponentB ' 
 
import React, {Component} from 'react'; 
 

 
class ComponentA extends Component { 
 
    render() { 
 
     return 
 
     (
 
      <button onClick={this.handleClick}>click me</button>  
 
     ); 
 
    } 
 
} 
 

 
export default ComponentA;

これはうまくいきませんでした。ボタンは関数を呼び出すことができませんでした。私は間違って何をしていますか?

import React, { 
 
    Component 
 
} 
 
from 'react'; 
 

 
class ComponentB extends Component { 
 
    constructor() { 
 
    this.handleClick = this.handleClick.bind(this); 
 
    } 
 
} 
 
handleClick() { 
 
    console.log("hi hi hi"); 
 
} 
 
} 
 

 
export 
 
default ComponentB;

+0

ComponentAとComponentBはどのように関係していますか? ComponentAがComponentBに子要素として含まれている場合は、propsを使うことができます。そうでなければ、ComponentAとComponentBの共通の祖先であるコンポーネントにこれを渡す必要があります。 – Bojangles

+0

ComponentAをComponentBにインポートしました。ComponentBを './components/成分B '; –

+0

JSXの外観はどういう意味ですか? 'ComponentB'の' render() 'コールで' ComponentA'が使われていますか? – Bojangles

答えて

0

あなたは働いていない理由です、ComponentBをインポートし、それを使用していません。あなたの場合、最良の方法はComponentAに直接​​を実装することですが、これはあなたがしたいことではありません。異なるコンポーネントで同じ機能を共有する場合は、reduxを反応jと共に使用すると、他のコンポーネントにも提供されます)

関連する問題