3

レデューサーにステートメントを入れるconsole.log('test')と、アクションが呼び出されたときにコンソールでそれらを見ることができます。しかし、コンソールにreduxの「NEXT STATE」/「PREV STATE」が表示されません。

私が見逃している基本的なものはありますか?

以下のコードでは、実際の機能を実現しようとしているのではなく、redux をセットアップしてコンソールで状態の変化を確認しようとしているだけです (したがって、正しいパスにいることがわかります)。


容器

import React, { PropTypes } from 'react-native';
import Header from './Header';
import { connect } from 'react-redux';
import { leave } from './actions';
import { join } from './actions';

const mapStateToProps = (state) => {
  return {
    in: state.in
  }
}

const mapDispatchToProps = (dispatch) => {
  return {
    join: (id) => {
      dispatch(join(id))
    },
    leave: (id) => {
      dispatch(leave(id))
    }
  }
}

export default connect(mapStateToProps, mapDispatchToProps)(Header);

レデューサー

export default function Header(state = { in: false }, action = {}) {
  switch (action.type) {
    case 'LEAVE':
      return {
        ...state,
        in: false
      }
    case 'JOIN':
      console.log(state);
      console.log(action);
      console.log('join');
      return {
        ...state,
        in: true
      }
    default:
      return state;
  }
}

行動

export const join = (id) => {
  return {
    type: 'JOIN',
    payload: {
      in: true
    }
  }
}

export const leave = (id) => {
  return {
    type: 'LEAVE',
    payload: {
      in: false
    }
  }
}
4

2 に答える 2

3

https://github.com/fcomb/redux-loggerを別途インストールする必要があることに気づいたら解決しました。

于 2016-04-10T19:27:21.407 に答える