reactjs - ReactJS:增量计数器不断刷新组件
问题描述
所以最近我开始了一个有趣的项目来玩弄 NextJS。
我遇到了关于计数状态的问题:
//Core
import React, { useState, useEffect } from 'react';
//Style
import styles from './form.module.scss';
export default function Form({ placeholder }) {
const [count, setCounter] = useState(0);
return (
<form>
<input
type='text'
placeholder={placeholder}
className={styles.error}
></input>
<button onClick={() => setCounter(count + 1)}>{count}</button>
</form>
);
}
每次单击增量按钮时,这都会不断刷新我的计数状态。在不重新渲染组件的情况下进行点击增量的正确方法是什么?
我在网上找到了这样的例子: https ://codesandbox.io/s/react-hooks-counter-demo-kevxp?file=/src/index.js:460-465
为什么我的计数器一直在重置,而他们的不是?
解决方案
你在一个form
.
请先使用preventDefault
,以免每次都提交表单。
<button
onClick={(e) => {
e.preventDefault();
setCounter(count + 1);
}}
>
{count}
</button>
在此处查看实际操作
推荐阅读
- c - Eclipse CDT:如何从源文件生成头文件?
- ruby - Bundler:将 gem 从 git 安装到 gems 文件夹而不是 bundler 文件夹
- javascript - 调试时未定义 Webpack Ajax 响应
- java - 一个 REST 调用的 Java setProperty "https.protocols", "TLSv1.2"
- java - 如何在 TreeSet 中切换排序顺序
- javascript - 异步函数与 Promises 一起工作很奇怪
- javascript - 页面转换 - 等到发出 ajax 请求
- angular - angular 2+ 强制在下拉菜单中选择第一个项目
- c# - 将搜索栏对齐到右中心
- swift - Swift 中的自定义 Instagram 登录页面