2017-05-25 77 views
0

我定义在../actions/AuthActions.js以下操作:阵营母语:undefined是不是一个函数(评估 'this.props.passwordChanged(文本)')

export const emailChanged = (text) => {..}; 
export const passwordChanged = (text) => {..}; 

,并远销他们在 “./index.js”作为

export * from './AuthActions'; 

进口在LoginForm.js的动作与

import { passwordChanged, emailChanged } from '../actions'; 

,并用于在弗洛的动作翼办法:在运行中的仿真器的代码

onEmailChange(text) { 
    this.props.emailChanged(text); 
} 

onPasswordChange(text) { 
    this.props.passwordChanged(text); 
} 

,我得到的错误“未定义是不是一个函数...”,即使我已经定义了功能,导出的名称。其中一个导出的名称'emailChanged'按预期工作,但只有这一个,并且据我所知,这个名称没有什么特别之处。我知道我一定会错过一些显而易见的东西,但希望得到任何帮助。

回答

2

我假设你正在使用redux,并尝试从你的组件调用动作。问题在于,您没有将您的动作创建者连接到组件,并使用redux的连接高阶组件。

你需要做的,就是添加这些动作与连接这样的:

import { connect } from 'react-redux'; 

export default connect(mapStateToProps, { emailChanged, passwordChanged })(LoginScreen) 

这样一来,这些行动将在this.props可用。

+0

谢谢!我已经为emailChanged做过,但不是为passwordChanged! :) –

相关问题