2016-05-02 26 views
4

通過history.replace(PATH)更改我的應用程序路由時,我收到了這個非常神祕的錯誤消息。該堆棧顯示源自redux的applyMiddleware的錯誤。我對中間件使用thunk和redux-promise。在改變路由時在react.js中獲取真正的crypric消息

我試過跟蹤通過我的每個組件的渲染路徑,而我的斷點永遠不會到達我試圖加載的狀態的渲染方法。

我也試過更新我的npm模塊並重建項目。

我正在使用React 15.0.2。

ReactReconciler.js:54 Uncaught (in promise) TypeError: Cannot read property 'getNativeNode' of null(…)getNativeNode @ ReactReconciler.js:54getNativeNode @ ReactCompositeComponent.js:303getNativeNode @ ReactReconciler.js:54updateChildren @ ReactChildReconciler.js:89_reconcilerUpdateChildren @ ReactMultiChild.js:178_updateChildren @ ReactMultiChild.js:271updateChildren @ ReactMultiChild.js:259_updateDOMChildren @ ReactDOMComponent.js:845updateComponent @ ReactDOMComponent.js:691receiveComponent @ ReactDOMComponent.js:647ReactDOMComponent_receiveComponent @ ReactPerf.js:66receiveComponent @ ReactReconciler.js:103updateChildren @ ReactChildReconciler.js:85_reconcilerUpdateChildren @ ReactMultiChild.js:178_updateChildren @ ReactMultiChild.js:271updateChildren @ ReactMultiChild.js:259_updateDOMChildren @ ReactDOMComponent.js:845updateComponent @ ReactDOMComponent.js:691receiveComponent @ ReactDOMComponent.js:647ReactDOMComponent_receiveComponent @ ReactPerf.js:66receiveComponent @ ReactReconciler.js:103_updateRenderedComponent @ ReactCompositeComponent.js:661_performComponentUpdate @ ReactCompositeComponent.js:643updateComponent @ ReactCompositeComponent.js:572ReactCompositeComponent_updateComponent @ ReactPerf.js:66receiveComponent @ ReactCompositeComponent.js:495receiveComponent @ ReactReconciler.js:103_updateRenderedComponent @ ReactCompositeComponent.js:661_performComponentUpdate @ ReactCompositeComponent.js:643updateComponent @ ReactCompositeComponent.js:572ReactCompositeComponent_updateComponent @ ReactPerf.js:66receiveComponent @ ReactCompositeComponent.js:495receiveComponent @ ReactReconciler.js:103_updateRenderedComponent @ ReactCompositeComponent.js:661_performComponentUpdate @ ReactCompositeComponent.js:643updateComponent @ ReactCompositeComponent.js:572ReactCompositeComponent_updateComponent @ ReactPerf.js:66receiveComponent @ ReactCompositeComponent.js:495receiveComponent @ ReactReconciler.js:103_updateRenderedComponent @ ReactCompositeComponent.js:661_performComponentUpdate @ ReactCompositeComponent.js:643updateComponent @ ReactCompositeComponent.js:572ReactCompositeComponent_updateComponent @ ReactPerf.js:66performUpdateIfNecessary @ ReactCompositeComponent.js:511performUpdateIfNecessary @ ReactReconciler.js:122runBatchedUpdates @ ReactUpdates.js:143perform @ Transaction.js:136perform @ Transaction.js:136perform @ ReactUpdates.js:89flushBatchedUpdates @ ReactUpdates.js:165ReactUpdates_flushBatchedUpdates @ ReactPerf.js:66closeAll @ Transaction.js:202perform @ Transaction.js:149batchedUpdates @ ReactDefaultBatchingStrategy.js:63enqueueUpdate @ ReactUpdates.js:194enqueueUpdate @ ReactUpdateQueue.js:22enqueueSetState @ ReactUpdateQueue.js:201ReactComponent.setState @ ReactComponent.js:67handleChange @ connect.js:301dispatch @ createStore.js:186(anonymous function) @ index.js:28(anonymous function) @ index.js:9dispatch @ applyMiddleware.js:45

回答

5

解決了這個問題。原因是試圖映射到一個數組上以在導航到的組件的渲染方法中生成子組件。我希望錯誤信息更具描述性。

+4

嗨。映射結束和數組有什麼問題?該數組沒有定義或什麼?我得到了同樣的錯誤 –

+0

那麼,你提出的解決方案是什麼? – agpt

0

也遇到此錯誤。就像ThinkingInBits,我正在映射數組創建組件。我對映射函數進行了修改,留下了其中一個變量undefined。這是我一直得到的錯誤,一旦我修復undefined變量問題,它就消失了。它掩蓋實際問題的方式相當惡劣。