首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用redux导航,使用reactotron错误调试

使用redux导航,使用reactotron错误调试
EN

Stack Overflow用户
提问于 2020-08-28 19:55:31
回答 1查看 96关注 0票数 0

我尝试导航redux的内部操作,但命令NavigationActions.navigate不起作用,所以我安装了reactotron来尝试使用reactotron进行调试,但这导致了镜像错误,下面是代码和de错误。请帮帮我。

动作

代码语言:javascript
复制
export function* searchByID(action) {
  try {
    console.log('action', action);
    const response = yield call(apiGetProdutoByID, action.idProduto);

    console.log('produto', response);

    yield put({
      type: TypesProdutos.SEARCH_BY_ID,
      produto: response.data.data.obj,
    });

    const produto = yield select(state => state.produtos);
    console.log(produto);

    **yield put(
      NavigationActions.navigate({
        routeName: action.route,
        params: {produto: produto},
      }),**
    );
  } catch (error) {
    console.log(error);
    yield put({type: TypesProdutos.FAIL});
  }
}

ReactotronConfig.js

代码语言:javascript
复制
import Reactotron from 'reactotron-react-native';
import AsyncStorage from '@react-native-community/async-storage';
import {reactotronRedux as reduxPlugin} from 'reactotron-redux';
import sagaPlugin from 'reactotron-redux-saga';

const reactotron = Reactotron;

Reactotron.setAsyncStorageHandler(AsyncStorage) // AsyncStorage would either come from `react-native` or `@react-native-community/async-storage` depending on where you get it from
  .configure() // controls connection & communication settings
  .useReactNative() // add all built-in react native plugins
  .use(reduxPlugin())
  .use(sagaPlugin())
  .connect(); // let's connect!

export default reactotron;

index.js

代码语言:javascript
复制
if (__DEV__) {
  import('./ReactotronConfig').then(() => console.log('Reactotron Configured'));
}
import {AppRegistry} from 'react-native';
import App from './src';
import {name as appName} from './app.json';

AppRegistry.registerComponent(appName, () => App);

index.js (商店)

代码语言:javascript
复制
import {createStore, applyMiddleware} from 'redux';
import createSagaMiddleware from 'redux-saga';
import rootReducer from './ducks';
import rootSaga from './sagas';
import Reactotron from 'reactotron-react-native';

const sagaMonitor = Reactotron.createSagaMonitor;
const sagaMiddleware = createSagaMiddleware({sagaMonitor});

const middleware = applyMiddleware(sagaMiddleware);

const store = createStore(rootReducer, middleware);

sagaMiddleware.run(rootSaga);

export default store;

错误:

error

EN

回答 1

Stack Overflow用户

发布于 2020-08-28 20:47:54

在命令npm install并在我导出存储的文件中进行此修改后,应用程序正常工作。

代码语言:javascript
复制
import {createStore, applyMiddleware, compose} from 'redux';
import createSagaMiddleware from 'redux-saga';
import rootReducer from './ducks';
import rootSaga from './sagas';
import Reactotron from 'reactotron-react-native';
import ReactotronConfig from '../../ReactotronConfig';

const sagaMonitor = Reactotron.createSagaMonitor;
const sagaMiddleware = createSagaMiddleware({sagaMonitor});

const middleware = applyMiddleware(sagaMiddleware);

const store = createStore(
  rootReducer,
  compose(
    middleware,
    ReactotronConfig.createEnhancer(),
  ),
);

sagaMiddleware.run(rootSaga);

export default store;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63633317

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档