Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.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
Javascript 反应切换按钮问题_Javascript_Reactjs - Fatal编程技术网

Javascript 反应切换按钮问题

Javascript 反应切换按钮问题,javascript,reactjs,Javascript,Reactjs,我正试图让这个开关在我的react项目中工作。它目前正在按预期工作(它切换并调用toggleFeature函数),但是我很难理解如何实际链接每个开关以执行不同的操作。通常,我会在onClick事件中获取某种可识别的属性,以确定要执行的操作,但在这种情况下,我有点难以确定如何执行 这是我当前的代码(尽可能简化) 类功能项扩展了React.Component{ 建造师(道具){ 超级(道具); this.state={on:props.flag}; } _切换功能(e){ console.log(e

我正试图让这个开关在我的react项目中工作。它目前正在按预期工作(它切换并调用toggleFeature函数),但是我很难理解如何实际链接每个开关以执行不同的操作。通常,我会在onClick事件中获取某种可识别的属性,以确定要执行的操作,但在这种情况下,我有点难以确定如何执行

这是我当前的代码(尽可能简化)

类功能项扩展了React.Component{
建造师(道具){
超级(道具);
this.state={on:props.flag};
}
_切换功能(e){
console.log(e);//未定义
console.log(“ASSD”);//在切换时调用
}
渲染(){
开关状态:{this.state.on?'on':'Off'}

) } };
是否有人知道我在事件中未定义的错误,以及我如何为onClick事件中读取的每个按钮提供自己的唯一标识符

下面是按钮的示例:如果有帮助


谢谢

在绑定
\u toggleFeature
函数时,您可以为其提供调用参数:


现在,您可以区分处理程序中的切换:

\u切换功能(切换名称){
如果(toggleName=='toggle1'){
//对切换1执行一些逻辑
}else if(toggleName==='toggle2'){
//为切换2做一些逻辑
}
}

或者,您可以为每个切换使用不同的处理程序函数,除非您动态创建数量可变的开关。

我动态创建它们,以便能够完美工作,真不敢相信它会像第二个arg:D那么简单,谢谢!
class FeatureItem extends React.Component {
  constructor(props) {
        super(props);
        this.state = {on: props.flag};
  }

  _toggleFeature(e) {
    console.log(e); // Undefined
    console.log("ASSD"); // Called on the toggle
  }

  render () {
      <div className="example-usage">
        <p>Switch state: {this.state.on ? 'On' : 'Off'}</p>
         <Switch className= {this.props.description} onClick={this._toggleFeature.bind(this)} on={this.state.on}/>
      </div>
    )
  }
};