[英]React Native Debugger state undefined
我正在尝试为我的项目使用远程 React Native Debugger。 我已经使用$ brew update && brew cask install react-native-debugger
在我的 Mac 上安装了 React-Native-Debugger。 然后我用npm install --save-dev remote-redux-devtools
添加了 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?
这是我用来使 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)));
请不要忘记导入您的减速器,以及以下来自 redux、react-redux 和 redux-thunk 的导入:
import { createStore, combineReducers, applyMiddleware, compose } from 'redux';
import { Provider } from 'react-redux';
import ReduxThunk from 'redux-thunk';
现在,您的状态如果在调试器中可见:
我希望它有帮助! 谢谢,
将 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
我遇到了同样的问题,我认为 react native 调试器工作正常,例如 react native 调试器的映射器工作正常,它正在从源头提取我的项目文件/目录。 控制台输出工作正常。
但我没有看到任何 redux 正在兴起。
经过一些试验和错误,我发现我必须在我的 android 模拟器上打开 JS 开发模式。
步骤:Ctrl + M -> Dev Setting -> Check JS Dev Mode -> Reload
我注意到,与此同时,我无法在开发人员工具中看到我的资源,这让我意识到我需要这样做
在 IOS 模拟器上
Cmd + D > 调试 JS 远程为我工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.