2016-11-14 10 views
0

ボタンに機能をバインド:は正しくこれが反応-ブートストラップ・ボタンでのonClick

<Button onClick={console.log('Hello')} className="pull-right">Try me</Button> 

私は関数が毎回ボタンをクリックして実行します。ただし、pageloadで実行されます。私は機能をバインドする必要があることをどこかで読ん:キャッチされない(約束で)例外TypeError:

<Button onClick={console.log('Hello').bind(null)} className="pull-right">Try me</Button> 

これは私にエラーを与えて、未定義の「バインドを」プロパティを読み取ることができません。

どうすればよいですか?

答えて

1

すぐにlogを呼び出してから、戻り値(undefined)をbindにしようとしています。

機能自体をバインドする必要があります。

nullコンテキストではなく、consoleコンテキストにもバインドする必要があります。 logは添付されているオブジェクトを気にします。

onClick={console.log.bind(console, 'Hello')} 

Idiomatic Reactはインラインかかわらず、それをやろうとするのではなく、個別に機能を作成します。とうまく再生されない

function myFunction() { 

    function handleClick(e) { 
    e.preventDefault(); 
    console.log('Hello'); 
    } 

    return (
    <Button onClick={handleClick} className="pull-right">Try me</Button> 

); 
} 
-1

私は、これはあなたが欲しいものだと思う:

<button onclick="javascript:console.log('Hello');" className="pull-right">Try me</button> 

はお知らせonclick="javascript:console.log('Hello');"

+0

が反応し、ラベル 'Javascriptを:'完全に無意味ですラベルを適用するループがないためです。 – Quentin

+0

私はFirefox上では 'javascript:'のみで動作することに気付きました。私はまだそれが事実であるかどうか本当に知りませんが、それは以前のことでした... @クエンティン – xdevs23

+0

それは決してなかった。他の何かが問題の原因であったに違いない。おそらく、あなたは 'href'属性にそれを張っています。 – Quentin

関連する問題