React事件处理程序不会触发

时间:2017-07-03 14:10:46

标签: reactjs

我很反应,如果这是基本的,那就很抱歉。

我有这个代码,它不会触发onClick函数:

var ContactItem = React.createClass({
    render: function() {
        return (
            React.createElement('form', {className: 'ContactItem'}, [
                React.createElement('input', {type:'text', placeholder: this.props.placeholder}),
                React.createElement('button', { onClick: this.onClick }, this.props.action)
            ]
        ))
    },

    onClick: function() { alert('hi') }       
});

var ContactForm = React.createClass({
    render : function(){
        return(
            React.createElement('form', {className: 'ContactForm'}, [
                React.createElement(ContactItem, {placeholder: '<name>', action: 'send it!', onclick: this.onclick }, null)
            ])
        );
    }
});

var element = React.createElement(ContactForm, { action: 'send!'})
ReactDOM.render(element, document.getElementById('react-app'))

但是,如果我只更改了以下行,它会触发(也就是说,我直接实例化ContactItem而不是ContactForm):

    var element = React.createElement(ContactItem, { action: 'send!'})

知道为什么会这样吗?谢谢!

0 个答案:

没有答案