当前位置: 首页 > 知识库问答 >
问题:

onClick中的两个参数

方焱
2023-03-14

我试图在ReactJs中通过一个两个事件的动作,基本上我想要这样的东西

<div className="botao shadow-drop-center col xl12 l12 m12 s12" onClick={(prop1.value1 === prop2.value2), this.continue(project)} > 

我尝试了1000种不同的语法编写方法

<div className="botao shadow-drop-center col xl12 l12 m12 s12" onClick={(prop1.value1 === prop2.value2), this.continue(project)} > 

我的预期结果是,当用户单击按钮时,pro1将成为prop2,同时执行“this.continue()”。

共有3个答案

柯学
2023-03-14

根据你的问题,这是我对你要找什么的最好猜测。本质上,您希望能够控制子组件中父组件的状态。道具是不可变的(更多信息)。因此,您不能在子组件中将道具设置为彼此相等。您需要在父组件中调用函数来设置父组件中状态的值。当父组件获得新状态时,子组件将使用新值重新呈现。如果希望在使用onClick处理程序时也执行函数,则需要创建一个包装函数来同时执行这两个操作。

// Parent Component
class Parent extends React.Component {

  constructor(props) {
    super(props);
    this.state = { value1: '', value2: '' };

  }

  continue() {
    // do work
  }

  setPropValue1 = (value) => {
    const state = { ...this.state };
    state.value1 = value;
    this.setState(state);
  }


  render () {
    return (
      <Child 
        continue={this.continue}
        value1={props.value1}
        setPropValue1={this.setPropValue1}
        value2={props.value2}
      />
    );
  }
};



// Child Component
const Child = (props) => {

  const wrappingClickHandler = e => {
    props.setPropValue1(value2)
    props.continue(project);
  };

  return (
    <div
      className="botao shadow-drop-center col xl12 l12 m12 s12"
      onClick={wrappingClickHandler}
    >
        {props.value1}
    </div>
  );
};
戈睿识
2023-03-14

试试这个:

function handleClick () {
prop1.value1 = prop2.value2
this.continue(project)
}

return (
<div className="botao shadow-drop-center col xl12 l12 m12 s12" onClick={handleClick} >
)

宗烨赫
2023-03-14

一个包含多个语句的函数怎么样:

onClick={() => {
    setProp1(prop2)
    this.continue()
}}
 类似资料:
  • 下面的代码是一个按钮的方法。 它总是给我一个错误。 如果我删除,那么它可以正常工作。 当我单击按钮时,如何使用POST方法,并移动到另一个活动? 错误:04-27 19:41:26.066 197 4-1974/com.opshun_test.opshun_test e/androidruntime:致命异常:main process:com.opshun_test.opshun_test,pid

  • 问题内容: 在此查询中: 它返回10天或更短的间隔。 如何添加两个参数?例子: 我已经尝试过: 但这是行不通的。 问题答案:

  • 我使用的是OpenAPI3,有两个查询参数,其中至少有一个是必需的,但哪个并不重要。 这在OpenAPI3中可能吗?就我所见,规范和JSON模式规范中都没有提到它。

  • 问题是: 创建一个名为Duo的泛型类,它有两个参数a和B。声明一个名为a类型的第一个变量,以及一个名为B类型的第二个变量。创建一个接受这两个参数的构造函数。在构造函数中,将这些参数分别分配给声明的变量。 这是我能想到的解决方案: 然后,当我继续问下一个问题时,我被绊住了。问题是: 使用问题4中的Duo类声明并创建两个对象,如下所示: a) 第一个名为sideShape的对象分别由字符串类型和整数类

  • 我得到了。ORA-1722向过程传递一个单个变量而不是一个数字(如54,55,56)时出错。 在过程光标块中,我写了: 运行该过程时,错误出现在上面的 select 语句中。 有没有办法在单个参数中处理这种情况

  • 问题内容: 我想将参数(即字符串)传递给Onclick函数。目前,我这样做: 例如,result.name等于字符串“ Add”。当我单击此按钮时,出现一个错误,提示未定义添加。由于此函数调用可以完美地与数字参数一起使用,因此我认为它与字符串中的符号“”有关。以前有人遇到过这个问题吗? 问题答案: 看起来您是从字符串构建DOM元素。您只需要在result.name周围添加一些引号即可: 您实际上应