reactjs - 在 onClick 事件监听器中使用两个箭头函数

标签 reactjs onclick arrow-functions

这是代码,

import React, { useEffect, useState } from 'react'
import './Body.css'
export default function Navbar() {
    const [value, setvalue] = useState(0);
    const [value1, setvalue1] = useState(0);
    return (
        <>
            <div>
                <h1>Our App</h1>

                <div className="back">
                    <h3>Counter</h3>
                    <button onClick={() => [() =>{setvalue(value - 1)} , ()=>{setvalue1(value1 - 1)}] }> - </button>
                    <button>{value}</button>
                    <button>{value1}</button>
                    <button onClick={()=> [() =>{setvalue(value + 1)} , ()=>{setvalue1(value1 + 1)}] } > + </button>
                </div>
            </div >
        </>
    )
}

我在这里检查了如何在 onClick 事件中传递两个函数,这是我没有收到语法错误的唯一方法。

有人可以建议对此进行一些修改吗?

最佳答案

您的点击处理程序不会调用这两个函数,而是在数组中返回两个函数。

您只需要像这样调用两个函数:

function Navbar() {
  const [value, setvalue] = React.useState(0);
  const [value1, setvalue1] = React.useState(0);
  return (
      <div>
        <h1>Our App</h1>

        <div className="back">
          <h3>Counter</h3>
          <button
            onClick={() => {
              setvalue((value) => value - 1);
              setvalue1((value1) => value1 - 1);
            }}
          >
            {" "}
            -{" "}
          </button>
          <button>{value}</button>
          <button>{value1}</button>
          <button
            onClick={() => {
              setvalue((value) => value + 1);
              setvalue1((value1) => value1 + 1);
            }}
          >
            {" "}
            +{" "}
          </button>
        </div>
      </div>
  );
}

ReactDOM.render(<Navbar />, document.querySelector('.react'));
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<div class='react'></div>

关于reactjs - 在 onClick 事件监听器中使用两个箭头函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74161300/

相关文章:

javascript - Apollo "Subscription field must return Async Iterable. Received: undefined"

javascript - 如何在 React 中使用循环显示数据?

javascript - 如何检测是否应该更新先前对象的属性?

reactjs - react useState setter导致重新渲染

android - 如何在viewpager中编写按钮的onClick方法?

javascript - 在 TypeScript 中使用箭头函数 : how to make them class methods?

Typescript 声明一个泛型函数并为其分配一个箭头函数

javascript - ios addEventListener 不工作

javascript - 使 onclick 处理程序忽略链接上的点击

java - Richfaces:带有 ContextMenu 的链接式文本