2016-05-27 4 views
1

私は(別のコンポーネント内にある)<BtnComponent />内部<button>要素を持っていると私はこのようなクリック対処しようとしています:React - onコンポーネントインスタンスをクリックしますか?

BtnContainer.jsの親コンポーネント:

import React from 'react'; 
import Btn from './Btn'; 


var BtnContainer = React.createClass({ 

    handleClick() { 
    alert('hello'); 
    }, 
    render() { 
    return (
     <div id="container"> 
     <Btn onClick={this.handleClick} /> 
     </div> 
    ) 
    } 
}); 

module.exports = BtnContainer; 

をここにBtn.jsコンポーネントがあります。

import React from 'react'; 

const Btn =() => (
    <button className="btn">Click</button> 
); 

export default Btn; 

私も実際のボタン要素でのonClickを配置しようとしたが、エラーが発生しました。

思考?

+1

あなたは、実際のボタンに小道具のonClick小道具を渡す必要があります。 –

+0

Btn.jsコンポーネントを追加しました...構文をどのように構成するかわかりません。 –

+0

あなたは実際のボタンhtmlに別々の "onClick"イベントを追加する必要があります - そして大括弧でthis.props.onClickを呼び出します。 –

答えて

3

はこれを試してみてください:

BtnContainer.js

import React from 'react'; 
import Btn from './Btn'; 


var BtnContainer = React.createClass({ 

    handleClick() { 
    alert('hello'); 
    }, 
    render() { 
    return (
     <div id="container"> 
     <Btn onClick={this.handleClick} /> 
     </div> 
    ) 
    } 
}); 

module.exports = BtnContainer; 

をBtn.js

import React from 'react'; 

const Btn = ({ onClick }) => (
    <button onClick={onClick} className="btn">Click</button> 
); 

export default Btn; 
+0

これは機能します。ボタン要素のクラスを切り替えるにはどうすればよいですか? setFilterを使用しますか?私は基本的に、あなたがそれをクリックするとクラスbtn-favとbtn-notfavをトグルするお気に入りの心臓ボタンを作成しています。 –

関連する問題