SomeAction不是函数。 (在“ SomeAction()”中,“ SomeAction”未定义)。
执行SomeAction函数时出现此错误。
如果我的动作文件中只有SomeAction而我确实
export default SomeAction;
然后按如下所示导入
import SomeAction from 'path/to/action'
它工作正常。但是由于我想要多个功能,因此我做了以下工作。
这是我的Actions.js
const SomeAction = () => dipatch => ({
// Code here
});
const AnotherAction = () => dispatch => ({
// Code here
});
export default { SomeAction, AnotherAction };
然后在我的App.js中
import { SomeAction } from 'path/to/action';
// Here the eslint gives me an error -> 'SomeAction not found in "path/to/action"'
const App = ({ SomeAction }) => {
// Code here
};
App.propTypes = {
SomeAction: PropTypes.func,
}
const mapStateToProps = state => ({
error: state.user.error,
});
export default connect(
mapStateToProps,
{ SomeAction }
)(App);
这在我正在编码的React Web应用程序上工作。为什么不使用React-Native?
最佳答案
审查,我看到您默认情况下导出两种方法。正常执行是一种方法。实现此目的的另一种解决方案是逐个导出方法并导入其名称。
导出示例:
export const SomeAction = () => dipatch => ({
// Code here
});
export const AnotherAction = () => dispatch => ({
// Code here
});
导入示例:
import { SomeAction, AnotherAction } from 'path/to/action';
此示例是导出和导入函数的常规方法。
您不能导出两个默认方法。
关于javascript - React-native和redux Action ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57202195/