Javascript 变量值不为';t在函数中更新

Javascript 变量值不为';t在函数中更新,javascript,reactjs,redux,Javascript,Reactjs,Redux,我正在无状态React组件中使用onClick处理程序当div上触发单击事件时,它会触发loadMore操作,该操作使用redux操作从REST API获取更多数据 count = 6; var loadMore = e => { getArticlesComments(article.slug, count, count + 2); count = count + 6; }; 我的问题是由于redux操作,count没有更新。如果我删除它,count正在正确更新 为什么redux

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

count = 6;

var loadMore = e => {
 getArticlesComments(article.slug, count, count + 2);
 count = count + 6;
};
我的问题是由于redux操作,
count
没有更新。如果我删除它,
count
正在正确更新

为什么redux操作(正常工作)停止更新
count


谢谢

您需要将您的计数置于状态,然后更新状态

您需要将计数置于状态,然后更新状态

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

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

  • 编辑:更好的例子是#2

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

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