fish-redux reducer里修改的状态不是实时更新的吗?

wvyml7n5  于 4个月前  发布在  其他
关注(0)|答案(5)|浏览(81)

No description provided.

carvr3hs

carvr3hs1#

监听滚动的时候会因为好像状态更新异步的所以会重复触发dispatch

pbwdgjma

pbwdgjma2#

onNotification: (ScrollNotification scrollInfo) {
  if (scrollInfo.metrics.pixels == scrollInfo.metrics.maxScrollExtent) {
    //滑到了底部
    print("滑动到了底部");

//这里的isCommentloadingMore在dispatch后修改了状态,但是状态没有实时更新
if (state.isCommentloadingMore==false) {
if (state.isCommenthasMore==true) {
dispatch(CommentActionCreator.loadComment());
}
}
}
}

zxlwwiss

zxlwwiss3#

现在的解决方法是在组件里加了一个叫lock的state来实时更新
if (lock == false && widget.state.isloadingMore == false) {
if (widget.state.ishasMore) {
setState(() {
lock = true;
widget.dispatch(
MicroblogCommentDetailActionCreator.onGetMoreData());
});

sgtfey8w

sgtfey8w4#

这种问题会不会在react里也存在?因为setState也是异步更新的,但vue中是不是就不会存在了?

wwodge7n

wwodge7n5#

我的理解是redux的dispatch和reducer都是同步的,flutter的state的修改也是同步的,会出现这种情况是因为fish redux做了像react的setState的优化?

相关问题