javascript - React Native Debugger 状态未定义

标签 javascript ios macos reactjs react-native

我正在尝试为我的项目使用远程 React Native 调试器。我已经使用 $ 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?

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

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

最佳答案

这是我用来使 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';

现在,如果在调试器中可见你的状态:

debugger screenshot

希望对你有帮助! 谢谢,

关于javascript - React Native Debugger 状态未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46828816/

相关文章:

javascript - 使用 Angular 2 响应式(Reactive)表单通过单个复选框提交多个值

Javascript 帮助 - 生成全 0 的 selfDividingNumbers 算法

javascript - 使用express js在文件中写入/添加数据

ios - 如果我没有进行更改,为什么我需要同步 NSUserDefaults?

ios - 无法在 swift 中导入桥接头文件

cocoa - git 应该忽略 XCode 创建的 *.pch 文件吗?

macos - 序列采集器

配置:错误:C 编译器无法创建可执行文件 (OSX El Capitan)

javascript - 提供嵌入内容的 JavaScript 链接

ios - 是否可以在 ubuntu 中为 ios 开发设置 cordova?