使用react和redux为发布请求创建等待的加载器警报

时间:2019-05-13 08:23:12

标签: reactjs redux

我正在设置一个应用程序,以使用react / redux作为前端和django作为后端来提交表单。问题是提交需要一些时间来处理,因此我需要在等待提交成功之前设置等待加载程序警报。 有什么建议吗?

这是我的发布动作:

export const addCandidate = candidate => (dispatch, getState) => {

axios
    .post("http://localhost:8000/api/candidates/", candidate, tokenConfig(getState))
    .then(res => {
      dispatch(createMessage({ addCandidate: "Formulaire envoyé" }));
      swal("", "Votre candidature a été enregistrée avec succès", "success");
      dispatch({
        type: ADD_CANDIDATE,
        payload: res.data 
      });
    })
    .catch(err =>
      dispatch(returnErrors(err.response.data, err.response.status))
    );
};

1 个答案:

答案 0 :(得分:1)

您可以添加一个名为loading的状态参数,该状态参数的初始值将为false,在触发请求之前,将其值设置为true,并在解决请求后将其设置为false

this.setState({loading:true});
axios.post().then(res=>{
// your code
this.setState(false);
})

然后在您的组件中渲染

{this.state.loading && <Spinner />}