我在../actions/AuthActions.js
中定义了以下操作:
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);
}
在模拟器中运行代码时,我收到错误' undefined不是函数...',即使我已经定义了函数,也导出了名称。其中一个导出的名称' emailChanged'按预期工作,但只有那一个,据我所知,这个名称没有什么特别之处。我知道我必须错过一些明显的东西,但我会感激任何帮助。
答案 0 :(得分:2)
我假设您正在使用redux,并尝试从您的组件调用操作。问题是你没有将你的动作创建者与使用redux连接高阶组件的组件连接起来。
您需要做的是,使用以下连接添加这些操作:
import { connect } from 'react-redux';
export default connect(mapStateToProps, { emailChanged, passwordChanged })(LoginScreen)
这样,这些操作将在this.props中提供。