【发布时间】:2021-09-16 05:12:41
【问题描述】:
所以最近我开始了一个有趣的项目来玩 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
为什么我的计数器一直在重置,而他们的却没有?
【问题讨论】:
-
该代码有什么问题?由于
count是一个状态,所以当你改变它时,React 会重新渲染它。