const [count, setCount] = useState(0);

  const handleClick = () =>
    setCount(prevCount => {
      return prevCount + 1;
    });
  const [count, setCount] = useState(0);

  const handleClick = () => setCount(count + 1);

来自基于类的组件背景,它成为了我们使用functional setState的习惯.我想知道我们是否仍然需要依赖函数挂钩中的prevState?或者当前状态总是"可信任"且最"更新"?

推荐答案

Yes,行为是相似的.

React正在批处理更新调用.

const handleClick = () => setCount(count + 1)
handleClick()
handleClick()
handleClick()

该州的count人将是1人

写作时:

const handleClick = () =>
  setCount(prevCount => {
    return prevCount + 1;
});
handleClick()
handleClick()
handleClick()

该州的count人将是3人

React-native相关问答推荐

ios 中节列表中的scrollToLocation 不起作用.在 Android 上,列表滚动回索引 0,但在 ios 上不会发生同样的情况

expo 日历应用因权限问题而崩溃

TypeError:未定义不是对象(判断'theme.spacing [radius]')

找不到变量:firebase/react native(expo)上的 IDBIndex

不能总是在 Chrome 中设置 React Native 断点

react-native 自定义视图,原生 prop 没有 propType

你使用 react native 应该学习 react.js 吗?

react-native StyleSheet 属性和选项列表

react-native:如何在离线模式下在模拟器上运行应用程序?

请求的体验使用 Expo SDK v(null),但此 Expo Client至少需要 v23.0.0版本

react-native android应用程序中的underlineColorAndroid is not a valid style property错误

背景图像在react中不起作用

自定义原生基础的选项卡

使用来自另一个页面的 fetch 调用函数返回结果值

如何将 BuildConfig 值传递给依赖模块?

[React-Native][Jest]SyntaxError: Unexpected token import

键盘上方的 React Native 完成按钮

在 React Native ScrollView 中检测滚动结束,对齐页面

WebStorm + ReactNative?

将 setState 与 promise 一起使用后出现错误