在路口观察器功能内,只能访问默认状态值

时间:2019-11-13 02:13:41

标签: javascript reactjs axios intersection-observer

我正在尝试使用react和相交观察器在聊天应用程序中实现无限滚动功能。当div与视口区域相交时,将触发一个函数以获取更多消息并将它们附加到状态。当我使用触发功能的按钮执行此操作时,它没有问题。并且每次触发时,它都会增加“开始”值,因此每次成功进行分页时,开始值都应比上次高1(在后端,该值乘以[ { "id": "1", "component": "crank", "brand": "part1", "date_": "13\/11\/2019" }, { "id": "3", "component": "bar", "brand": "part 3", "date_": "13\/11\/2019" } ] ,这就是消息数跳过了对Mongo的查询)。使用该按钮,可以正常工作。使用交集观察器时,具有axios fetch的函数将成功触发,但是它将用于分页的“ start”变量重置为1,因此不会加载任何新帖子。

每次div滚动到视图中时,count变量就从start内部以“ 1”的身份登录到控制台。但是,从beTouching函数开始,如果我单击按钮,它会正确递增,并且即使在两者之间触发了loadMore函数,也不会为按钮重置beTouching变量,并且从停止处继续向右递增。 好像只有创建观察者时分配给start的值才能在与其连接的函数中使用,并且它无法访问当前处于状态的更新值?

我希望它的功能与按钮相同,并使用当前状态值触发loadMore函数,但是每次它都以1的“ start”触发,因此不会加载新帖子。  这是组件:

start

0 个答案:

没有答案