javascript - react 中单个按钮上的两个事件

标签 javascript reactjs dom-events

我正在尝试创建一个按钮,它可以在一个按钮上有两个事件,以便我可以添加和删除标记,我可以使用 jQuery 来完成此操作,但无法在 React 中解决。

var Button = React.createClass({
    getInitialState() {
        return {
           name: 'add marker'
        };
    },
    render: function() {
        return <button type="button" onClick={this.onClick}>{this.state.name}</button>
    },

    onClick: function(ev) {
    // event 1
        alert('marker added');
    
    // event 2
        alert('remove marker');
        this.setState({name:'markert removed'})
    }
});

http://jsfiddle.net/zidski/5z3f7zL4/1/

最佳答案

假设您想使用相同的按钮来添加/删除标记,那么您可以执行以下操作:

var Button = React.createClass({
    getInitialState() {
      return {
        marker: false
      };
    },
    onClick: function() {
        this.setState({
            marker: !this.state.marker
        });
    },
    render: function() {
      return <button type="button" onClick={this.onClick}>{this.state.marker ? 'Add marker' : 'Remove marker'}</button>
    }
});

存储 bool 值并在单击按钮时更新该值。您可以根据该 bool 值管理按钮文本。

关于javascript - react 中单个按钮上的两个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41677293/

相关文章:

reactjs - 我如何传递事件和参数 onHandle 更改

javascript - 在移动浏览器上缩放或旋转

javascript - Chrome Javascript 控制台中带有空格的奇怪字符串行为

javascript - 通过全局变量访问具有 ID 的元素

javascript - 如果还有其他故障排除

javascript - 有一天设置浏览器cookie

reactjs - 在draft-js NPM 中突出显示单词

reactjs - 警告 : Using UNSAFE_componentWillMount in strict mode is not recommended (upgrade to CRA 4. 0.2)

javascript - Node 子进程事件监听

javascript - Sankey 的 Google 图表 API 未触发选择事件