Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在React中动态绑定事件处理程序函数_Reactjs - Fatal编程技术网

Reactjs 如何在React中动态绑定事件处理程序函数

Reactjs 如何在React中动态绑定事件处理程序函数,reactjs,Reactjs,全部: 我是个新手,比如说我有一个非常简单的案例: var React = require("react"); var ReactDOM = require("react-dom"); var Todo = React.createClass({ render: function() { return (<div>Hello there <button id="switch_func">Switch</button

全部:

我是个新手,比如说我有一个非常简单的案例:

var React = require("react");
var ReactDOM = require("react-dom");

var Todo = React.createClass({
    render: function() {
        return (<div>Hello there 
            <button id="switch_func">Switch</button>
        </div>);
    }
});
ReactDOM.render(<Todo />, document.getElementById("div1"));

要绑定函数,可以使用onClick 简而言之

<button onClick={this.handleClick}>Switch</button> 

为什么要取消绑定并重新绑定同一事件类型?只需将aRandomHandler放入另一个handler函数中…@David谢谢,我不太明白你的想法,你能给我看一段代码片段吗?我想要的是完全更改click handler函数,而不是更改handler函数,您可以更改handler函数内部的函数:.on'click',function{randomFunction}@David谢谢,但是如何替换click handler函数的主体,所有的handler函数都在外部,我只能使用它们。你的意思是我需要为不同的处理程序设置案例选择吗?但在这种情况下,这意味着我需要知道我有什么函数,对吗?像这样的?谢谢,这意味着每次我点击按钮时,可能需要再次渲染按钮?@Kuan我想我没有完全理解你的问题。也许你应该看看这个
<button onClick={this.handleClick}>Switch</button> 
var Todo = React.createClass({
    handleClick: function(){
        //put your function here!
    },
    //other functions in your component (e.g. render, getInitialState, etc)

});