我从后端返回一份预测列表,该列表在仪表板中呈现(我在componentWillMount()中进行API调用)。每个预测都呈现为一个表示组件,并具有喜欢和不喜欢的按钮。用户单击该按钮后,将调用Axios操作,该操作会将事件发布到后端REST API以保存此反馈。
正如我所看到的,我不需要在这里处理Redux的状态,除非我想要禁用按钮或在单击时更改它们。我想要做的就是1)触发按钮上的CSS动画(某种反弹)让用户知道他点击了它,如果Axios动作返回错误,我需要在错误部分显示它
问题在于,如果不经历将Axios结果调度到状态,将其通过reducer,然后将状态映射到组件中的props等等,我无法弄清楚如何执行此操作。对于这种暂时性的东西来说似乎有些过分,不是吗?
答案 0 :(得分:1)
是的。正如@ReiDien所说
你可以直接使用axios而不使用任何减速器。
对于动画和错误消息,您可以使用组件的状态来存储它们。您可能需要一个容器组件来处理状态及其更改。您的处理程序最终会像:
handleLike = () => {
this.setState({
liked: true,
});
axios.post(...)
.catch((error) => {
this.setState({
error: error,
liked: false
});
});
}