【问题标题】:can't get React onClick to fire无法让 React onClick 触发
【发布时间】:2020-04-04 22:21:37
【问题描述】:

我正在尝试教自己做出反应。我似乎在让事件触发方面遇到问题。在这一点上,我要做的就是使用 useState 钩子来获取和设置一个按钮。该按钮最初以正确的值 100 呈现。当我单击该按钮时,我希望该按钮更新为 999。在此先感谢您的时间!

下面是一个名为 UserInterface.js 的文件

import React, { useState } from "react";
import InputElement from "./InputElement";

const useAppState = () => {
  const [numberOfButtonClicks, setnumberOfButtonClicks] = useState(100);

  const setAppState = () => {
    setnumberOfButtonClicks(999);
  };

  return { numberOfButtonClicks, setAppState };
};

const UserInterface = () => {
  const { numberOfButtonClicks, setAppState } = useAppState();

  return (
    <InputElement onClick={setAppState} numClicks={numberOfButtonClicks} />
  );
};

export default UserInterface;

下面是一个名为 InputElement.js 的文件

import React from "react";

const InputElement = (props) => (
  <button onClick={() => props.onClick()}>{props.numClicks}</button>
);

export default InputElement;import React from "react";

【问题讨论】:

  • 你的代码没问题,你刚刚在InputElement.js的底部不小心复制了两次import React from "react";

标签: javascript reactjs onclick dom-events


【解决方案1】:

尝试将&lt;InputElement onClick={setAppState} ... /&gt;改为&lt;InputElement onClick={() =&gt; setAppState(999)} ... /&gt; 和按钮应该是&lt;button onClick={props.onClick}&gt;{props.numClicks}&lt;/button&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多