在react-redux演示文稿组件中使用动作时遇到问题

安德鲁

我是Redux的新手,无法将自己的头放在演示和容器组件上。

相关堆栈:

  • 反应v0.14.8
  • react-native v0.24.1
  • redux v3.5.2
  • react-redux v4.4.5

问题:

我有一个登录按钮组件,该组件在呈现时会检查登录状态并调用onSuccessfulLogin用用户的Facebook凭证更新状态的操作。

但是,当尝试将其拆分为单独的演示文稿/容器组件时,我无法调用onSuccessfulLogin操作:Error: onSuccessfulLogin is not defined

我在这里做错了什么?我以为有一些简单的事情我对两个组件和connect()函数之间的关系不了解

演示组件(Login.js)

import React, { PropTypes } from "react-native";
import FBLogin from "react-native-facebook-login";
import UserActions from "../users/UserActions";

class LoginPage extends React.Component {

    render() {

        const { userData, onSuccessfulLogin } = this.props;

        return (
          <FBLogin
              permissions={["email","user_friends"]}
              onLoginFound= { data => {
                  onSuccessfulLogin(data.credentials);
              }}
              />
        )
    }
};

export default LoginPage;

容器组件(LoginContainer.js)

import { connect } from 'react-redux';
import LoginPage from "../login/LoginPage";
import UserActions from "../users/UserActions";

const mapDispatchToProps = (dispatch) => {
  return {
    onSuccessfulLogin: (userData) => {
      dispatch(UserActions.userLoggedIn(userData))
    }
  }
}

const mapStateToProps = (state) => {
  return {
    userData: state.userData
  }
}

const LoginContainer = connect(
  mapStateToProps,
  mapDispatchToProps
)(LoginPage);

export default LoginContainer;

另外,如果我想让组件state.userData可以访问更新LoginPage内容,我该怎么做?任何帮助表示赞赏!

解决了!使用ES6类时,需要调用super(props)构造函数方法才能访问所连接的演示组件中的容器属性:

class LoginPage extends React.Component {
    constructor(props){
        super(props);
    }

    render(){    
        // ...
    }
}
质量

您的容器组件应该是一个组件,并且必须具有要渲染的哑/演示组件渲染功能

import { connect } from 'react-redux';
import LoginPage from "../login/LoginPage";
import UserActions from "../users/UserActions";


class LoginContainer extends React.Component {
    constructor(props){
      super(props);
    }
    render() {
        return (
          <LoginPage userData={this.props.userData}
              onSuccessfulLogin={this.props.onSuccessfulLogin}
              />
        )
    }
};

const mapDispatchToProps = (dispatch) => {
  return {
    onSuccessfulLogin: (userData) => {
      dispatch(UserActions.userLoggedIn(userData))
    }
  }
}

const mapStateToProps = (state) => {
  return {
    userData: state.userData
  }
}


export default connect(
  mapStateToProps,
  mapDispatchToProps
)(LoginPage);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在react-redux演示文稿组件中使用动作时遇到问题

来自分类Dev

React,在 promise 中设置组件状态时遇到问题

来自分类Dev

使用带有计时器的Hook更新React组件时遇到问题

来自分类Dev

尝试在 React 中使用状态存储数据以便以后可以访问时遇到问题

来自分类Dev

使用require vs import React Native时遇到问题

来自分类Dev

使用require vs import React Native时遇到问题

来自分类Dev

尝试使用 php artisan preset react 时遇到问题

来自分类Dev

尝试在 React 组件中使用 Redux 动作调度器时出错?

来自分类Dev

在设置子组件的数组状态并将其传给React测验时遇到问题

来自分类Dev

我在JSX React组件中获取数据时遇到问题

来自分类Dev

尝试在我的 React 应用程序中使用链接但遇到问题

来自分类Dev

使用React-Router尝试根据state重定向用户时遇到问题

来自分类Dev

使用filter方法从react native中的flatList中删除项目时遇到问题

来自分类Dev

我在使用 Dockerfile 构建 react 应用程序和 webpack 时遇到问题

来自分类Dev

使用 .map 和匿名函数时遇到问题(React Native)

来自分类Dev

渲染作为元素传递的React元素时遇到问题

来自分类Dev

在React上分解我的数据时遇到问题

来自分类Dev

在State无法在React中更新时遇到问题

来自分类Dev

使用Redux在React中调度动作的问题

来自分类Dev

在Om中使用递归组件时遇到问题吗?

来自分类Dev

我在React函数组件中使用React.useRef时遇到错误

来自分类Dev

我在使用预加载功能通过react-p5库加载图像时遇到问题

来自分类Dev

在React.memo中使用React功能组件时如何解决闭包问题?

来自分类Dev

在react-redux中使用bindactioncreator调度动作

来自分类Dev

我在将React道具传递到图像背景时遇到问题

来自分类Dev

在React中无法从api(Django Rest Framework)响应渲染图像数组时遇到问题

来自分类Dev

在React应用程序中定义图像的路径时遇到问题

来自分类Dev

react-native run-ios 在连接到 iOS 模拟器时遇到问题

来自分类Dev

在 React 中手动添加“其他”选项时遇到问题。是什么赋予了?

Related 相关文章

  1. 1

    在react-redux演示文稿组件中使用动作时遇到问题

  2. 2

    React,在 promise 中设置组件状态时遇到问题

  3. 3

    使用带有计时器的Hook更新React组件时遇到问题

  4. 4

    尝试在 React 中使用状态存储数据以便以后可以访问时遇到问题

  5. 5

    使用require vs import React Native时遇到问题

  6. 6

    使用require vs import React Native时遇到问题

  7. 7

    尝试使用 php artisan preset react 时遇到问题

  8. 8

    尝试在 React 组件中使用 Redux 动作调度器时出错?

  9. 9

    在设置子组件的数组状态并将其传给React测验时遇到问题

  10. 10

    我在JSX React组件中获取数据时遇到问题

  11. 11

    尝试在我的 React 应用程序中使用链接但遇到问题

  12. 12

    使用React-Router尝试根据state重定向用户时遇到问题

  13. 13

    使用filter方法从react native中的flatList中删除项目时遇到问题

  14. 14

    我在使用 Dockerfile 构建 react 应用程序和 webpack 时遇到问题

  15. 15

    使用 .map 和匿名函数时遇到问题(React Native)

  16. 16

    渲染作为元素传递的React元素时遇到问题

  17. 17

    在React上分解我的数据时遇到问题

  18. 18

    在State无法在React中更新时遇到问题

  19. 19

    使用Redux在React中调度动作的问题

  20. 20

    在Om中使用递归组件时遇到问题吗?

  21. 21

    我在React函数组件中使用React.useRef时遇到错误

  22. 22

    我在使用预加载功能通过react-p5库加载图像时遇到问题

  23. 23

    在React.memo中使用React功能组件时如何解决闭包问题?

  24. 24

    在react-redux中使用bindactioncreator调度动作

  25. 25

    我在将React道具传递到图像背景时遇到问题

  26. 26

    在React中无法从api(Django Rest Framework)响应渲染图像数组时遇到问题

  27. 27

    在React应用程序中定义图像的路径时遇到问题

  28. 28

    react-native run-ios 在连接到 iOS 模拟器时遇到问题

  29. 29

    在 React 中手动添加“其他”选项时遇到问题。是什么赋予了?

热门标签

归档