我正在尝试将远程React Native Debugger用于我的项目。我在Mac上用$ brew update && brew cask install react-native-debugger
安装了React-Native-Debugger。然后我添加了带有npm install --save-dev remote-redux-devtools
我的createStore代码看起来像这个atm。
import { createStore, applyMiddleware } from 'redux'
import { composeWithDevTools } from 'remote-redux-devtools'
import thunk from 'redux-thunk'
/* some other imports */
const composeEnhancers = composeWithDevTools({ realtime: true, port: 8000 })
export default createStore(rootReducer, composeEnhancers(
applyMiddleware(thunk.withExtraArgument(api), logger, firebaseSave)
))
控制台输出工作正常,但它没有在动作或redux状态上获得。我错过了一步吗?为什么不采用redux?
答案 0 :(得分:2)
将redux devtools扩展名添加到您的createStore
export default createStore(rootReducer, composeEnhancers(
applyMiddleware(thunk.withExtraArgument(api), logger, firebaseSave)
),window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__())
了解更多信息:https://github.com/zalmoxisus/redux-devtools-extension
答案 1 :(得分:1)
这是我用来使redux状态在react-native-debugger上可见的解决方案:
假设我有一个称为uiReducer
的redux reducer:
const rootReducer = combineReducers({
ui: uiReducer
});
let composeEnhancers = compose;
if (__DEV__) {
composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
}
const store = createStore(rootReducer, composeEnhancers(applyMiddleware(ReduxThunk)));
请不要忘记导入您的reducer,以及从redux,react-redux和redux-thunk中导入的以下内容:
import { createStore, combineReducers, applyMiddleware, compose } from 'redux';
import { Provider } from 'react-redux';
import ReduxThunk from 'redux-thunk';
现在,您的状态(如果在调试器中可见):
我希望它会有所帮助! 谢谢,
答案 2 :(得分:0)
我遇到了同样的问题,我以为React Native调试器可以正常工作, 例如。 反应本地调试器的映射器工作正常,它从源头拉出我的项目文件/目录。 控制台输出运行正常。
但是我看不到有任何恢复。
经过一番尝试和错误后,我发现我必须在自己的Android模拟器上打开JS开发模式。
步骤:Ctrl + M->开发设置->检查JS开发模式->重新加载
答案 3 :(得分:0)
我注意到,与此同时,在开发人员工具中看不到我的源代码,这使我意识到我需要这样做
在IOS Simulator上
Cmd + D>调试JS远程为我工作