Redux 如何使用 fetch 方法分派多个动作类型

用户3348410

我正在尝试使用 Redux 的 fetch 方法进行 api 调用,我创建了一些操作类型,如 fetch_start、fetch_success 和 fetch_failed。

但我不能让我的减速机返回给我。当我检查 redux 开发工具时,有 3 种操作类型也有效。我错在哪里?

我正在使用 thunk,redux

这是我的组件:

class SignInComponent extends Component {

    signIn = () => {
        this.props.signIn()
    }

    render() {

    return (
      <Row className="justify-content-md-center">
         <Col lg={4}>
              <button type="button" onClick={this.signIn}>
              </button>
              </Col>
      </Row>
    )
  }
}


  const mapStateToProps = state => ({
    users: state.users
  })

  function mapDispatchToProps(dispatch) {
    return {
      signIn: bindActionCreators(signIn, dispatch)
    }
  } 

  export default connect(mapStateToProps, mapDispatchToProps)(SignInComponent)

这是我的减速器:

import { SIGNIN_START, SIGNIN_SUCCESS, SIGNIN_FAILED } from '../../actions/Auth/SignIn'

let initialState = []

export default (state = initialState, action) => {
    switch (action.type) {
        case SIGNIN_START:
            return console.log('start')
        case SIGNIN_SUCCESS:
            return console.log("success")  
        case SIGNIN_FAILED:
            return console.log("fail")        
        default:
            return state
    }
}

这是我的行动:

export const SIGNIN_START = 'SIGNIN_START';
export const SIGNIN_SUCCESS = 'SIGNIN_SUCCESS';
export const SIGNIN_FAILED = 'SIGNIN_FAILED';

export const signIn = () => {
    return(dispatch) => {
        dispatch({
            type: SIGNIN_START
        })
        fetch('https://api.com/signIn')
        .then((response) => {
            dispatch({
                type: SIGNIN_SUCCESS
            })
        })
        .catch((err) => {
        dispatch({
            type: SIGNIN_FAILED
        })
        })
    }
}
卡里姆

您必须为每个操作返回减速器中的新状态

return console.log();

将简单地返回undefined

将其更改为

switch (action.type) {
  case SIGNIN_START:
     console.log('start')
     return [...state];
  case SIGNIN_SUCCESS:
     console.log("success")
     return [...state];
  case SIGNIN_FAILED:
     console.log("fail");
     return [...state];    
  default:
     return state
 }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何分派多个动作

来自分类Dev

如何使用Redux Thunk处理fetch()响应中的错误?

来自分类Dev

使用fetch代替redux-observable的ajax

来自分类Dev

使用 fetch api 测试 Redux 登录操作

来自分类Dev

React-Redux - 如何从子组件分派动作?

来自分类Dev

重定向完成后如何分派动作(Redux)?

来自分类Dev

Haskell-如何推断动作类型

来自分类Dev

我对redux分派以及如何在动作内部调用它感到困惑。我正在遵循的教程使用一种我不了解的方法

来自分类Dev

如何观察 Redux 动作?

来自分类Dev

React/Redux - 不分派动作

来自分类Dev

在React JS功能组件中分派动作后,如何立即使用Redux存储中的更新值

来自分类Dev

在Redux中为动作类型命名的最佳做法是什么?

来自分类Dev

React和Redux:从动作类型的有效载荷中提取数据

来自分类Dev

如何从Struts动作类对Ajax返回多个响应?

来自分类Dev

如何使用Typescript在Redux reducer函数中实现详尽的switch语句?如何处理Redux的内部@@ redux动作

来自分类Dev

如何从React Redux的子组件中分派?

来自分类Dev

Redux 不会设置 initialState。动作分派也失败

来自分类Dev

如何使用redux将动作传递给孩子?

来自分类Dev

如何使动作可重复使用?带有Redux的ReactJS

来自分类Dev

如何使用TypeScript键入Redux-Observable的史诗动作

来自分类Dev

从非 redux 组件中的 redux 存储分派动作

来自分类Dev

如何在redux的动作上调用动作?

来自分类Dev

使用redux-form和Fetch API进行服务器验证

来自分类Dev

如何在Struts 2的一个动作类中使用不同的验证方法

来自分类Dev

是否可以使用 TypeScript 对象来分派 redux 操作(以及如何分派)?

来自分类Dev

React Redux-仅在先前路线与新路线相同时使用use中的分派动作

来自分类Dev

如何使用React&Redux添加多个页面

来自分类Dev

如何使用基于“redux”的组件创建多个实例?

来自分类Dev

如何从NgRx中的单个效果分派多个动作?

Related 相关文章

  1. 1

    如何分派多个动作

  2. 2

    如何使用Redux Thunk处理fetch()响应中的错误?

  3. 3

    使用fetch代替redux-observable的ajax

  4. 4

    使用 fetch api 测试 Redux 登录操作

  5. 5

    React-Redux - 如何从子组件分派动作?

  6. 6

    重定向完成后如何分派动作(Redux)?

  7. 7

    Haskell-如何推断动作类型

  8. 8

    我对redux分派以及如何在动作内部调用它感到困惑。我正在遵循的教程使用一种我不了解的方法

  9. 9

    如何观察 Redux 动作?

  10. 10

    React/Redux - 不分派动作

  11. 11

    在React JS功能组件中分派动作后,如何立即使用Redux存储中的更新值

  12. 12

    在Redux中为动作类型命名的最佳做法是什么?

  13. 13

    React和Redux:从动作类型的有效载荷中提取数据

  14. 14

    如何从Struts动作类对Ajax返回多个响应?

  15. 15

    如何使用Typescript在Redux reducer函数中实现详尽的switch语句?如何处理Redux的内部@@ redux动作

  16. 16

    如何从React Redux的子组件中分派?

  17. 17

    Redux 不会设置 initialState。动作分派也失败

  18. 18

    如何使用redux将动作传递给孩子?

  19. 19

    如何使动作可重复使用?带有Redux的ReactJS

  20. 20

    如何使用TypeScript键入Redux-Observable的史诗动作

  21. 21

    从非 redux 组件中的 redux 存储分派动作

  22. 22

    如何在redux的动作上调用动作?

  23. 23

    使用redux-form和Fetch API进行服务器验证

  24. 24

    如何在Struts 2的一个动作类中使用不同的验证方法

  25. 25

    是否可以使用 TypeScript 对象来分派 redux 操作(以及如何分派)?

  26. 26

    React Redux-仅在先前路线与新路线相同时使用use中的分派动作

  27. 27

    如何使用React&Redux添加多个页面

  28. 28

    如何使用基于“redux”的组件创建多个实例?

  29. 29

    如何从NgRx中的单个效果分派多个动作?

热门标签

归档