繁体   English   中英

变量值未在函数中更新

[英]Variable value doesn't update in function

我在无状态React组件中使用onClick处理程序。
在div上触发click事件时,它会触发loadMore操作,该操作使用redux操作从REST API中获取更多数据。

count = 6;

var loadMore = e => {
 getArticlesComments(article.slug, count, count + 2);
 count = count + 6;
};

我的问题是由于redux动作, count没有更新。 如果我删除它, count正在正确更新。

为什么redux动作(正常运行)会停止更新count

谢谢

您需要先将计数放入状态,然后再更新状态

React只对您的状态或道具的更新做出反应。 从您共享的代码来看, count似乎不是任何状态的一部分。 如果要在计数更改时更新视图,则计数需要处于一个状态内。 您提到您的组件是无状态的,因此您需要:

  1. 将您的组件转换为常规组件,并定义state = { count: 0}并在“ loadMore”事件中使用setState对其进行更新。 看例子
  2. 将count移至redux状态,并使用mapStateToProps将其映射到属性,最后,通过redux reducer而不是在'loadMore'事件中更新count。 查看redux中的更新状态

编辑:#2 更改状态onClick React + Redux的更好示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM