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/

10-09 07:45