小编Cod*_*bie的帖子

React Hooks:使用 axios 拦截器显示全局微调器?

我想添加一个 Loader 组件,以便在React 中进行 API 调用时呈现。我想使用react context + hooks 而不是 redux

正如反应钩子的规则所说,我们不应该在反应组件之外使用反应钩子。但是我需要在Axios拦截器内部分派SHOW_LOADER和,如下所示。HIDE_LOADER

有没有办法实现这一目标?

import axios from "axios";
axios.interceptors.request.use(
  config => {
    dispatch({
    type: "SHOW_LOADER"
})
    return config;
  },
  error => {
     dispatch({
    type: "HIDE_LOADER"
})
    return Promise.reject(error);
  }
);

axios.interceptors.response.use(
  response => {
    dispatch({
    type: "HIDE_LOADER"
})
    return response;
  },
  error => {
    dispatch({
    type: "HIDE_LOADER"
})
    return Promise.reject(error);
  }
);
function GlobalLoader(){
    const [state,dispatch] = useContext(LoaderContext);
    return(
        <div>
            {
                state.loadStatus …
Run Code Online (Sandbox Code Playgroud)

interceptor reactjs axios react-context react-hooks

9
推荐指数
1
解决办法
8609
查看次数

在GitHub上反应应用程序部署失败

任何人都可以帮助我,如何在github上部署我的react应用程序。我已经使用更新的react模块在package.json文件中添加了所有必需的Dependecny。

以下是我的package.json文件:

    {
  "name": "git-sample-react",
  "version": "0.1.0",
  "private": true,
  "homepage": "https://ababsheck.github.io/first-react-sample/",
  "dependencies": {
    "react": "^16.4.2",
    "react-dom": "^16.4.2",
    "react-scripts": "1.1.4"
  },
  "scripts": {
    "predeploy": "npm run build",
    "deploy": "gh-pages -d build",
    "deploy": "gh-pages -b master -d build",
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  },
  "devDependencies": {
    "gh-pages": "^1.2.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

npm运行部署问题:github

    Failed to get remote.origin.url (task must either be run in a git repository with a configured origin remote or must be configured with …
Run Code Online (Sandbox Code Playgroud)

reactjs

1
推荐指数
1
解决办法
1015
查看次数

标签 统计

reactjs ×2

axios ×1

interceptor ×1

react-context ×1

react-hooks ×1