在redux状态调度之后,ReactNative expo app crna entry Bundle异常

时间:2018-03-14 13:04:51

标签: react-native redux react-redux react-native-android

我不知道在我的控制台上打印的异常消息没有给出任何提示和任何有意义的消息的方式,这个奇怪的异常会被调用。因此,我无法为例外提出适当的标题。

该应用程序是使用Expo和Redux状态管理器开发的 我在调度状态后得到以下异常。

有趣的观察:

  1. 该操作是合适的,并且有效负载具有有效的JSON值。

  2. 当我在减速机中打印有效负载时,它正在打印正确的值

  3. 这是代码

    axios.post('API PATH', reqBody)
      .then(response => {
          dispatch({
            type: CAMPAIGNS_FETCH_SUCCESS,
            payload: response.data.campaigns
          });
      })
      .catch(error => {
        console.error('error occured while fetching campaigns: ', JSON.stringify(error));
      });
    

    对于上面的代码,一旦我发送控件也转到reducer并且reducer打印正确的值但是之后我得到了异常

        error occured while fetching campaigns: , {"line":163362,"column":43,"sourceURL":"http://packager.kk.camp.exp.direct:80/./node_modules/react-native-scripts/build/bin/crna-entry.bundle?platform=android&dev=true&hot=false&minify=false"}
    - node_modules/react-native/Libraries/ReactNative/YellowBox.js:67:16 in error
    * src/screens/CampaignActions/
    CampaignActions.js:125:22 in <unknown>
    - node_modules/promise/setimmediate/core.js:37:14 in tryCallOne
    - node_modules/promise/setimmediate/core.js:123:25 in <unknown>
    - node_modules/react-native/Libraries/Core/Timers/JSTimers.js:295:23 in <unknown>
    - node_modules/react-native/Libraries/Core/Timers/JSTimers.js:148:6 in _callTimer
    - node_modules/react-native/Libraries/Core/Timers/JSTimers.js:196:17 in _callImmediatesPass
    - node_modules/react-native/Libraries/Core/Timers/JSTimers.js:464:11 in callImmediates
    - node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:282:4 in __callImmediates
    - node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:137:6 in <unknown>
    - node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:269:6 in __guard
    - node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:136:17 in flushedQueue
    - node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:111:11 in callFunctionReturnFlushedQueue
    

    有任何帮助吗?它花了很多时间给我。

1 个答案:

答案 0 :(得分:0)

我找到了这方面的解决方案,但不确定几件事,让我把它放在这里并期待一些评论以便进一步理解。

我有两个组件,分别是Component1和Component2,每个组件都有自己的状态,比如ComponentState1和ComponentState2以及两个Reducer ComponentReducer1和ComponentReducer2。

在我的两个州都有一个常见的json数组,比如说Campaigns []在两个组件状态中都很常见。当我加载Component2时它崩溃了,然后我从Component1删除了广告系列的操作,这意味着ComponentReducer1和ComponentReducer2都有一个常见的操作说Campaign_Fetch_Success,我从Component1中删除了这个然后崩溃已经解决了,但我也需要在Component1中使用广告系列我调度了不同的动作,只有在加载component1时才会调度它,比如说Campaign_Fetch_For_Component1_Success。

现在问题已经解决,但是当我们对两个组件减速器采取相同的操作时,为什么它会崩溃?这让我仍然处于困惑之中?