React Native 调试器状态未定义

Wal*_*ari 4 javascript macos ios reactjs react-native

我正在尝试为我的项目使用远程 React Native 调试器。我已经在我的 Mac 上安装了 React-Native-Debugger,并使用$ brew update && brew cask install react-native-debugger. 然后我添加了 Remote-redux-devtools 包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)
))
Run Code Online (Sandbox Code Playgroud)

控制台输出工作正常,但它没有接收到操作或 redux 状态。我是不是少了一步?为什么它不支持 redux?

https://github.com/zalmoxisus/remote-redux-devtools

https://github.com/jhen0409/react-native-debugger

mah*_*hdi 6

这是我为了使 redux 状态在react-native-debugger 上可见而使用的解决方案: 假设我有一个名为 的 redux 减速器uiReducer

const rootReducer = combineReducers({
  ui: uiReducer
});

let composeEnhancers = compose;

if (__DEV__) {
    composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
}

const store = createStore(rootReducer, composeEnhancers(applyMiddleware(ReduxThunk)));
Run Code Online (Sandbox Code Playgroud)

请不要忘记导入您的减速器,以及来自 redux、react-redux 和 redux-thunk 的以下导入:

import { createStore, combineReducers, applyMiddleware, compose } from 'redux';
import { Provider } from 'react-redux';
import ReduxThunk from 'redux-thunk';
Run Code Online (Sandbox Code Playgroud)

现在,您的状态在调试器中可见:

调试器截图

我希望它有帮助!谢谢,