如何在React中通过动态添加的按钮单击以触发功能?

问题描述 投票:0回答:1

我有一个React应用,其组件带有一个按钮,用于添加动态按钮列表。每个动态按钮都有onClick方法来触发带有id参数的函数(sendOption)。 问题是,单击添加的按钮后未激活功能“ sendOption”。

我也更改了此:

<button onClick={this.sendOption(buttonId)}>

对此:

<button onClick={() => this.sendOption(buttonId)}>

但仍然,onClick无法正常工作。我该如何解决?

Component:

let buttonId = 0;

Class ButtonCreation extends Component {
    constructor(props) {
        super(props);
        this.state = {
            buttonsList: [],
        }
    }

    addButton = () => {
        buttonId += 1;

        this.setState({ 
             buttonsList: [...this.state.buttonsList, <button onClick={this.sendOption(buttonId)}>Send Option</button>]
        })
    }

    sendOption = (buttonId) => {
       console.log(buttonId)
    }

    render() {
       return(
          <div>
            <button onClick={this.addButton}>Add new Button</button>
            {this.state.buttonsList}
          </div>
       );
    }
}

export default ButtonCreation;
javascript reactjs
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.