如何将异步函数传递给组件? next
函数下面是我的数据存储区中的异步函数。我通过了store.user.fetchUsers
。该方法可用,其他属性也可以正常工作。
<InfiniteScroll
dataLength={store.user.users.length}
hasMore={store.user.hasMore}
next={store.user.fetchUsers}
loader={props.loader}
endMessage={props.endMessage}
scrollableTarget={document.getElementById('app')}
>
<div className="columns is-multiline">
{snaps}
</div>
</InfiniteScroll>
但是在我的mobx商店中,我有一个异步操作:
@action
async fetchUsers () {
let req;
try {
switch(this.genderFilter) {
case 'male':
req = await API.maleUsers(this.lastID())
break
case 'female':
req = await API.femaleUsers(this.lastID())
break
default:
req = await API.allUsers(this.lastID())
}
runInAction(() => {
const users = req.body.users
if (users && users.length <=0) {
this.hasMore = false
} else {
this.addUsers(req.body.users)
}
this.state = 'done'
})
} catch (e) {
runInAction(() => {
this.state = 'error'
this.hasMore = false
})
}
}
如何将其传递给next
,以便它可以调用?目前尚未被调用。