Reactjs React-redux跟踪异步API中的状态
我有一个react-redux应用程序。基本上,它类似于学生管理应用程序,在该应用程序中,我将所有学生列为一个表,单击任何学生姓名,我将显示有关该学生的信息 下面是我的商店的概况Reactjs React-redux跟踪异步API中的状态,reactjs,asynchronous,redux,react-redux,Reactjs,Asynchronous,Redux,React Redux,我有一个react-redux应用程序。基本上,它类似于学生管理应用程序,在该应用程序中,我将所有学生列为一个表,单击任何学生姓名,我将显示有关该学生的信息 下面是我的商店的概况 { students: [ student1: { marks: 100, attendance: 70, prevMarks: 80 }, student2: { marks: 50,
{
students: [
student1: {
marks: 100,
attendance: 70,
prevMarks: 80
},
student2: {
marks: 50,
attendance: 70,
prevMarks: 60
},
],
currentStudent: 'student1'
}
如您所见,我有一个student
列表,其中包含用户数据,currentStudent
包含执行操作的当前学生的值
单击学生姓名时,currentStudent
值将更新,并显示students
列表中的currentStudent
值。当学生被点击时,prevMarks
值是在后台使用另一个API调用获取的,存储中的currentStudent
的prevMarks
由其响应更新。
我需要这个API是异步的,因为这不应该影响用户检查其他学生的信息
问题是,当用户单击student1
时,会调用一个API来获取student1
的prevMarks
,在API完成之前,如果用户单击student2
,API的响应会更新currentStudent
的值,即student2
由于API的响应没有学生姓名,因此无法根据API的响应跟踪学生姓名
如何跟踪通过redux进行API调用的学生,以便相应地更新状态?调用API时是否可以获取
currentStudent
值?是否可以为此使用redux thunk
?非常感谢您的帮助。您能更改后端JSON的内容吗?您的应用程序使用的API在您的项目外部?如果没有,您可以在JSON或学生id中发送更多学生数据,然后在单击学生时选择该学生,根据发送的数据或id进行查询过滤。@LeandroL Yes。这是一个外部API,不可能更改它的契约。你所说的关于响应时间和用户操作的内容是相对的,因为你公开的示例可能会发生,也可能不会发生。我突然想到,你列出了一个请求列表,并关联了currentStudent,即,创建一个列表,保存所有单击的currentStudent,然后通过传递currentStudent参数发出请求,并保存其响应,然后浏览列表并显示全部结果。您可以做的另一件事是,在单击另一个学生时,在执行api调用时禁用选择另一个学生的选项。@LeandroL在api调用进行时禁用选择另一个学生会中断用户体验,这对最终用户是有害的