错误:操作必须是普通对象。使用自定义中间件进行异步操作。React-redux 错误

黎明17

索引.js

import store from "./store";
import { createStore } from 'redux';
import reducers from './reducers';
import { Provider } from 'react-redux';


console.log('init state', store.getState());

ReactDOM.render(    
    <Provider store={ store }>
        <App />
    </Provider>, 
    document.getElementById('root')
);

registerServiceWorker();

动作.js

import * as types from "./types";
import axios from 'axios';
import { incrementProgress, decrementProgress } from "./progress";


const userLogin = username => ({
  type: types.AUTH_LOGIN,
  username,
});

const userLogout = () => ({
  type: types.AUTH_LOGOUT,
});

const fakeLoginRequest = (username, password) => {
    alert(username, password)
}

export const doLogin = username => {
    alert(username)
};

export const doLogout = () => dispatch => {
  dispatch(userLogout());
};

LoginForm.jsx - 哑组件

class LoginForm extends React.Component {

    constructor(props) {
        super(props);
        this.state = {
            username: '',
            password: '',
        };

        this.handleClick = this.handleClick.bind(this);
    }

    fakeLogin = e => {
        const { username } = this.state;
        e.preventDefault();
        if (!username) {
          return alert("Provide a username.");
        }
        this.props.doLogin(username);
        this.setState({ username: "" });
      };

    render() {

        return (
            <div>
            <MuiThemeProvider>
              <div>
               <TextField
                 hintText="Enter your Username"
                 floatingLabelText="Username"
                 onChange = {(event,newValue) => this.setState({username:newValue})}
                 />
               <br/>
                 <TextField
                   type="password"
                   hintText="Enter your Password"
                   floatingLabelText="Password"
                   onChange = {(event,newValue) => this.setState({password:newValue})}
                   />
                 <br/>
                 <RaisedButton label="Submit" primary={true} style={style} onClick={this.fakeLogin}/>
             </div>
             </MuiThemeProvider>
          </div>
    );
}
}   

export default LoginForm;

LoginPage.jsx - 明智的组件

const LoginPage = ({ auth, doLogin, doLogout }) => (

    <div>

      <NavBar/>
        <div className="row">
            <div style={{display: 'flex', justifyContent: 'center'}} className="col-md-4 col-md-offset-4">
                <LoginForm doLogin={doLogin} doLogout={doLogout} auth={auth} />
            </div>
        </div>
      </div>

);
const mapStateToProps = state => ({
  auth: state.auth,
});

export default connect(mapStateToProps, { doLogin, doLogout })(LoginPage);

我对 react-redux 完全陌生,我正在尝试创建一个识别用户当前登录状态的流程。我试图用上面的代码是我想确保usernamepassword正确通过并提醒他们。

但是,我收到错误

Error: Actions must be plain objects. Use custom middleware for async actions. React-redux error.

this.props.doLogin(username);对的LoginForm.jsx似乎它也与onClick按钮的有关。我不明白,因为我调用的函数不是异步的。

我做错了什么?

麦坎布里奇

就像错误所说的那样,您的动作创建者必须返回一个对象。

export const doLogin = username => {
    console.log('READ THE DOCS. IT IS VERY HELPFUL TO READ THE DOCS.');
    console.log(username);
    return {
        type: 'YOUR_ACTION_TYPE',
        payload: { whatever: 'you', want: 'it', to: 'be' }
    };
};

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Redux错误:动作必须是普通对象。使用自定义中间件进行异步操作

来自分类Dev

react-redux错误:操作必须是普通对象。使用自定义中间件进行异步操作

来自分类Dev

React/Redux:错误:操作必须是普通对象。使用自定义中间件进行异步操作

来自分类Dev

如何解决 react-redux 中的此错误“错误:操作必须是普通对象。使用自定义中间件进行异步操作。”

来自分类Dev

redux devtools未捕获的错误:动作必须是普通对象。使用自定义中间件进行异步操作

来自分类Dev

Redux中间件问题-错误:操作必须是纯对象。使用自定义中间件进行异步操作

来自分类Dev

redux-promise错误:操作必须是普通对象。使用自定义中间件

来自分类Dev

错误:操作必须是普通对象。使用自定义中间件进行异步操作。 - 即使操作包含方法

来自分类常见问题

React-Redux:动作必须是普通对象。使用自定义中间件进行异步操作

来自分类Dev

React Redux Saga:动作必须是普通对象。使用自定义中间件进行异步操作

来自分类Dev

如何解决:错误:动作必须是普通对象。使用自定义中间件进行异步操作。

来自分类Dev

为什么我收到“错误:操作必须是普通对象。对异步操作使用自定义中间件。” 错误?

来自分类Dev

动作必须是普通对象。使用自定义中间件进行异步操作,但我使用的是redux-thunk

来自分类Dev

可能未处理的承诺拒绝(ID:0):错误:操作必须是普通对象。使用自定义中间件进行异步操作

来自分类Dev

收到错误“操作必须是普通对象。对异步操作使用自定义中间件。” 使用 AXIOS 时在 React Native 中

来自分类Dev

无法击败“操作必须是普通对象。对异步操作使用自定义中间件。” 尝试遵循 redux.js.org 教程时出错

来自分类Dev

反应 - 本地“终极版未捕获的错误:操作必须是纯对象。对于按下按钮异步操作使用自定义中间件

来自分类Dev

React Native :动作必须是普通对象。使用自定义中间件进行异步操作

来自分类Dev

使用自定义异步中间件进行分派 - Redux Thunk - react Router

来自分类Dev

RXJS 订阅主题 - 操作必须是普通对象。使用自定义中间件进行异步操作

来自分类Dev

为什么我的应用程序返回“操作必须是普通对象,请使用自定义中间件进行异步操作”

来自分类Dev

React和Redux:Redux自定义中间件未执行

来自分类Dev

在自定义Redux中间件中等待

来自分类Dev

处理 React Redux 中的错误

来自分类Dev

无法处理错误:redux-promise-middleware 中的“中间件不是函数”?

来自分类Dev

Redux & Socket IO 代理错误

来自分类Dev

使用本机React的Redux错误类型错误:未定义不是对象(评估'_this.props.counter')

来自分类Dev

React + Redux-未捕获的错误:操作可能没有未定义的“类型”属性

来自分类Dev

如何使用自定义异常中间件捕获ASP.NET Core(3.1)URL解析错误?

Related 相关文章

  1. 1

    Redux错误:动作必须是普通对象。使用自定义中间件进行异步操作

  2. 2

    react-redux错误:操作必须是普通对象。使用自定义中间件进行异步操作

  3. 3

    React/Redux:错误:操作必须是普通对象。使用自定义中间件进行异步操作

  4. 4

    如何解决 react-redux 中的此错误“错误:操作必须是普通对象。使用自定义中间件进行异步操作。”

  5. 5

    redux devtools未捕获的错误:动作必须是普通对象。使用自定义中间件进行异步操作

  6. 6

    Redux中间件问题-错误:操作必须是纯对象。使用自定义中间件进行异步操作

  7. 7

    redux-promise错误:操作必须是普通对象。使用自定义中间件

  8. 8

    错误:操作必须是普通对象。使用自定义中间件进行异步操作。 - 即使操作包含方法

  9. 9

    React-Redux:动作必须是普通对象。使用自定义中间件进行异步操作

  10. 10

    React Redux Saga:动作必须是普通对象。使用自定义中间件进行异步操作

  11. 11

    如何解决:错误:动作必须是普通对象。使用自定义中间件进行异步操作。

  12. 12

    为什么我收到“错误:操作必须是普通对象。对异步操作使用自定义中间件。” 错误?

  13. 13

    动作必须是普通对象。使用自定义中间件进行异步操作,但我使用的是redux-thunk

  14. 14

    可能未处理的承诺拒绝(ID:0):错误:操作必须是普通对象。使用自定义中间件进行异步操作

  15. 15

    收到错误“操作必须是普通对象。对异步操作使用自定义中间件。” 使用 AXIOS 时在 React Native 中

  16. 16

    无法击败“操作必须是普通对象。对异步操作使用自定义中间件。” 尝试遵循 redux.js.org 教程时出错

  17. 17

    反应 - 本地“终极版未捕获的错误:操作必须是纯对象。对于按下按钮异步操作使用自定义中间件

  18. 18

    React Native :动作必须是普通对象。使用自定义中间件进行异步操作

  19. 19

    使用自定义异步中间件进行分派 - Redux Thunk - react Router

  20. 20

    RXJS 订阅主题 - 操作必须是普通对象。使用自定义中间件进行异步操作

  21. 21

    为什么我的应用程序返回“操作必须是普通对象,请使用自定义中间件进行异步操作”

  22. 22

    React和Redux:Redux自定义中间件未执行

  23. 23

    在自定义Redux中间件中等待

  24. 24

    处理 React Redux 中的错误

  25. 25

    无法处理错误:redux-promise-middleware 中的“中间件不是函数”?

  26. 26

    Redux & Socket IO 代理错误

  27. 27

    使用本机React的Redux错误类型错误:未定义不是对象(评估'_this.props.counter')

  28. 28

    React + Redux-未捕获的错误:操作可能没有未定义的“类型”属性

  29. 29

    如何使用自定义异常中间件捕获ASP.NET Core(3.1)URL解析错误?

热门标签

归档