2016-07-01 2 views
4

Мой простой реакции код:onClick function in React не работает?

main.js:

var ReactDom = require('react-dom'); 

var Main = React.createClass({ 
    render: function(){ 
    return(
     <div> 

      <a onClick={alert("hello world")} >hello</a> 

    </div> 

     ) 

    } 
}); 

в консоли были ошибки:

TypeError: listener must be a function

ОШИБКА:

while running this code, I am getting that alert function instead of that this should be on click function.

Примечание: Я использую структуру flux, но в данном файле не было данных.

Заранее спасибо

+0

Вы пробовали оберточные предупреждающий сигнал код в анонимной функции? – SimianAngel

+0

'alert.bind (this, 'hello world')' –

+0

Попытайтесь избежать привязки к функции рендеринга, вы можете сделать это в конструкторе или вне объявления класса, если не требуется класс «this». –

ответ

4

Вы должны дать onClick функцию, которая может вызывать на событие щелчка, так что вы должны обернуть уведомление в анонимной функции, например,

var ReactDom = require('react-dom'); 

var Main = React.createClass({ 
    render: function(){ 
     return (
      <div> 
       <a onClick={function() {alert("hello world")}} >hello</a> 
      </div> 
     ) 
    } 
}); 
5

вы должны обернуть уведомление в функции вы можете использовать жир стрелку, чтобы сделать работу

<a onClick={() => alert("hello world")} >hello</a>